var people = json.filter(function(el)
{
return el.Phoneno.some(function(number)
{
return number.Cell == "777-777-7777";
});
});
При этом используются функции Array.filter и Array.some из ECMAScript 5. filter
возвращает массив элементов, которые проходят тест.some
возвращает true, если какой-либо элемент в массиве проходит тест.
Для браузеров, которые его не поддерживают, вы можете использовать код в MDC.
Это почти наверняка не будетбыстрее, чем очевидный подход для цикла.
Как примечание, если у каждого человека может быть до одного телефонного номера на тип, более простое представление будет:
"Phoneno": { "Home": "111-111-1111",
"Cell": "222-222-2222",
"Office": "333-333-3333"
}
Кроме того, JSON технически относится к текстовому представлению, а не к фактическомуJavaScript объекты.