2015-05-16 4 views
0

мне нужно сделать массив, который выглядит следующим образом:Jquery значения ключа массива с 2d массив

Array = [A:{key:value,key:value},B:{key:value,key:value}] 

Но я должен добавить элементы динамически, и мне нужно получить доступ к ним, как я могу это сделать? ... Спасибо за помощь

+0

Отметьте это [вопрос] (http://stackoverflow.com/questions/966225/how-can-i-create-a-two-dimensional-array-in-javascript) ? – HeyHeyJC

+0

«динамически» я сделаю это в цикле –

+0

Хорошо, я добавил ответ, который вы могли бы вызвать в цикле для установки или получения ваших значений. – HeyHeyJC

ответ

0

Поскольку массивы автоматически изменять размер, вы могли бы сделать что-то очень простое, как это (а и б ваши строки и столбца «координаты», соответственно):

var myArray = []; 
function save(a, b, value) { 
    var row = myArray[a]; 
    if (!row) row = []; 
    row[b] = value; 
    myArray[a] = row; 
}; 
function retrieve(a, b) { 
    var row = myArray[a]; 
    return row ? row[b] : null; 
}; 
+0

что я должен отправить, чтобы получить? номера индексов или указанное имя ключа –

+0

Как я его написал, вы должны были бы отправить строки массива и номера столбцов. Например: myValue = retrieve (3, 6). Вы можете отредактировать свой вопрос, чтобы добавить больше объяснений и/или подробностей, чтобы получить более качественные ответы. Я предположил, что вы хотите хранить данные в двумерном массиве. Вместо этого вы можете просто использовать объект, если хотите получить строковый ключ для извлечения ваших значений. – HeyHeyJC

0

Это создаст что я думаю, что вы хотите:

var arr = [ 
      { 
      'A' : [ 
        { 'key1' : 'value1' }, 
        { 'key2' : 'value2' } 
        ] 
      }, 
      { 
      'B' : [ 
        { 'key1' : 'value1' }, 
        { 'key2' : 'value2' } 
        ] 
      } 
     ]; 

Объяснение: Здесь, «обр» в основном массив объектов с 2-х объектов с «A» ключами/«B» и значения как массив более 2-х объектов. (Это немного запутывает)

Смежные вопросы