2015-08-28 2 views
1

Результирующий набор [[key: key1, value: value1}, {key: key2, value : value2}], какой метод следует использовать в Javascript для получения значения определенного ключа. Пример Мне нужно значение для «key2». Есть ли конкретный метод или я должен использовать цикл?Получить значение с помощью клавиши [{key: key1, value: value1}, {key: key2, value: value2}]

Заранее спасибо.

ответ

2

Я бы преобразовал этот результат в индексный объект, а затем выполнил все последующие проверки объекта индекса. Таким образом, вам нужно только повторить выбор результата.

Ниже приведена прямая реализация, основанная на методе reduce.

var results = [{key: "key1", value: "value1"}, {key: "key2", value: "value2"}]; 
 
var index = results.reduce(function(index, result) { 
 
    index[result.key] = result.value; 
 

 
    return index; 
 
}, {}); 
 

 
alert(index.key2);

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

var results = [{key: "key1", value: "value1"}, {key: "key2", value: "value2"}]; 
 

 
for (var i=0; i < results.length; i++) { 
 
    if (results[i].key === 'key2') { 
 
    alert(results[i].value); 
 
    
 
    break; 
 
    } 
 
}

+0

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

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