2014-10-19 4 views
0

В JQuery У меня есть переменная, объявленная как двумерный массив. В моем примере первое измерение массива имеет 4 элемента:Поиск двумерного массива в JQuery

length: 4 
[0]: {...} 
[1]: {...} 
[2]: {...} 
[3]: {...} 

Каждый из 4-х элементов содержит уникальный ключ и значение, как, например:

Key: "Some key" 
Value: "This is some value" 

То, что я хотел бы сделать , выполняет поиск в массиве и получает значение, где ключ равен, например, «Some key». Можно ли это сделать элегантно в строке или два с помощью JQuery?

+0

Обратите внимание, что если элементы имеют ключи типа ' Key' и 'Value', это похоже на то, что они * объекты *, а не массивы, и поэтому у вас есть массив объектов, а не двумерный массив. (JavaScript вообще не имеет двумерных массивов, но ...) –

ответ

2

Sure:

$.each(theArray, function(index, entry) { 
    // Use entry.Key and/or entry.Value here 
}); 

Или без JQuery на любой современный браузер:

theArray.forEach(function(entry) { 
    // Use entry.Key and/or entry.Value here 
}); 

(forEach может быть подкладками на IE8 и тому подобное.)

Если вы хотите остановиться на в первом матче, затем:

$.each(theArray, function(index, entry) { 
    if (/* Use entry.Key and/or entry.Value here*/) { 
     return false; // Ends the "loop" 
    } 
}); 

Или без JQuery на любом современном браузере: (. some и every можно подкладки на IE8 и такой)

theArray.some(function(entry) { 
    if (/* Use entry.Key and/or entry.Value here*/) { 
     return true; // Ends the "loop" 
    } 
}); 

или

theArray.every(function(entry) { 
    if (/* Use entry.Key and/or entry.Value here*/) { 
     return false; // Ends the "loop" 
    } 
}); 

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