Проблема с выбором элементов из массива объектов

371
26 октября 2017, 11:15

Есть массив объектов такого вида

songs: Array(7)
0
:
artist
:
{name: "Redfoo", song: "New Thang"}
__proto__
:
Object
1
:
artist
:
{name: "Hugo", song: "99 Problems"}
__proto__
:
Object

Мне нужно сделать так что бы я мог фильтровать по именам(name) и песням(song)(сравнивать названия с тем, что человек введет в input). Но проблема в том что я не знаю как сразу выбрать все имена и песни.

console.log(songs.artist); выводит undefined, а console.log(songs[0].artist); не подходит так как я получаю только 1 объект.

Как можно получить сразу их все?

Answer 1

Можно использовать функцию map()

var songs = [ 
    { artist : {name: "Redfoo", song: "New Thang"}}, 
    { artist : {name: "Hugo", song: "99 Problems"}} 
]; 
 
var pattern = 'Redfoo'; 
 
songs.map(function(item) { 
    if (item.artist.name == pattern) 
      console.log(item.artist); 
});

READ ALSO
jQuery - Magnific popup скрол про открытии

jQuery - Magnific popup скрол про открытии

При инициализации модального окна, реализованного с помощью magnific popup, происходит скролл наверх страницы, при закрытии возвращение обратно...

342
Js input type=“file” частично не работает код

Js input type=“file” частично не работает код

ЗдравствуйтеЯ не знаток js прошел курсы и практикуюсь

285
Как подтянуть куки в Environment - Postman

Как подтянуть куки в Environment - Postman

Всем здравствуйте ! Вот хотел бы спросить , для того что бы положить значение из ответа в jSon в Environment - я использую форму :

295
Зачем implements OnInit?

Зачем implements OnInit?

Подскажите пожалуйста зачем для хука OnInit в объявлении класса в компоненте пишут так:

262