Этот урок связан с проектом Разбираем Underscore.js по косточкам

Разбираем Underscore.js по косточкам. Метод findWhere

Продолжаем разбирать Underscrore.js. Сегодня рассмотрим ещё один метод для поиска данных в коллекции, а именно метод findWhere.

Синтаксис:

_.findWhere(list, properties)

  • list - объект,
  • properties - искомые значения.

Работает аналогично методу where, но возвращает только первый элемент, соответствующий заданным properties. Если совпадений не найдено или list пустой, то метод вернет undefined.

Простой пример:

_.findWhere(publicServicePulitzers, {newsroom: "The New York Times"});
// вернет
{
    year     : 1918,
    newsroom : "The New York Times",
    reason   : "For its public service in publishing in full so many official reports, documents and speeches by European statesmen relating to the progress and conduct of the war."
}
Аналогичный пример с нашей базой фильмов. Ищем фильмы 1994 года. На этот раз мы получим только один элемент:

var movies = [
    { title: 'Крёстный отец', director: 'Фрэнсис Форд Коппола', year: '1972', budget: 6000000 },
    { title: 'Крёстный отец 2', director: 'Фрэнсис Форд Коппола', year: '1974', budget: 13000000 },
    { title: 'Тёмный рыцарь', director: 'Кристофер Нолан', year: '2008', budget: 185000000 },
    { title: 'Побег из Шоушенка', director: 'Фрэнк Дарабонт', year: '1994', budget: 25000000 },
    { title: 'Криминальное чтиво', director: 'Квентин Тарантино', year: '1994', budget: 8000000 }
];

console.log(_.findWhere(movies, {year: '1994'}));

/*
 Object
    budget: 25000000
    director: "Фрэнк Дарабонт"
    title: "Побег из Шоушенка"
    year: "1994"
*/

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: http://ruseller.com/
Автор: Станислав Протасевич
Урок создан: 22 Марта 2014
Просмотров: 5774
Правила перепечатки


5 последних уроков рубрики "Разное"

^ Наверх ^