2014-12-14 3 views
-2

Я немного потерял информацию о том, как именно я должен получить значение массива документов javascript. Итак, у меня есть следующие:Поиск значения в документе javascript внутри массива

var array = []; 
//example of content inside 'array' 
//array = [{key1: value1},{key2:value2}...] 

У меня есть определенный ключ. То, что я хотел бы сделать, это выполнить поиск по массиву и получить значение, уникальное для определенного ключ У меня есть. Как я могу это сделать и, самое главное, , так как я постоянно удаляю и добавляю новые пары ключ: значение как объекты javascript, лучше ли мне использовать массив, как указано выше, или вместо него array = {} и добавить ключи: ценностей там? Спасибо за вашу помощь

+0

какой-либо конкретной причины, почему вы не можете просто использовать Dict? '{key1: value1, key2: value2, ..}' – MightyPork

+0

@MightyPork Мне действительно нужно использовать массив теперь, когда я думаю об этом ... вы можете мне помочь? xP – extremeMeta

+0

Почему вы называете это «javascript document»? Вы имеете в виду «объект»? –

ответ

0

Я настоятельно рекомендую вам прочитать книгу или учебник по яваскрипту основ быть знакомы с терминами, как JSON, массивами, функция и т.д.

W3School является хорошим справочником

Однако, ниже пример кода должен выполнить ваши потребности

Использование массива

//define array of JSON objects 
//Each JSON object has 2 properties; key and value 
var array = [{"key":"1", "value":"A"},{"key":"2", "value":"B"}]; 
//Search function 
function Search(array, key){ 
for(i=0;i<array.length; i++) 
    if(array[i].key === key) 
     return array[i].value; 
return null; 
} 

//sample call 
alert(Search(array, "2")); 

Использование словаря

//dictionary object 
var dic = {1:"A",2:"B"}; 
function SearchDic(dic, key){ 
    return dic[key] ;//note we just pass the key to retreive the value 
} 
//sample call 
alert(SearchDic(dic, 1)); 
+0

Я вижу, tyvm! Итак, нет никакой нативной функции для выполнения этого в массиве? – extremeMeta

+0

Если вы говорите о массиве в частности, нет другого способа, насколько я знаю, поскольку массивы могут содержать любые типы объектов, включая примитивные типы. Итак, вы должны сказать javascript, какова структура вашего объекта для его поиска. Но ** словарь ** проще искать по комментарию @MightyPork. вы можете изменить функцию как ** return array [key]; ** – Gouda

+0

Я отредактировал свой ответ, чтобы показать как массивные, так и словарные подходы. Если это поможет, пожалуйста, отметьте мой ответ в качестве действительного ответа и проголосуйте за него :) – Gouda

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