Вопрос
Создайте функцию, которая просматривает массив объектов (первый аргумент) и возвращает массив всех объектов, имеющих совпадающие пары имя и значение (второй аргумент). Каждая пара имя-значение исходного объекта должна присутствовать в объекте из коллекции, если она должна быть включена в возвращаемый массив.
Например, если первый аргумент [{first: "Romeo ", last:" Montague "}, {first:" Mercutio ", last: null}, {first:" Tybalt ", last:" Capulet "}], а вторым аргументом является {last:" Capulet "}, затем Вы должны вернуть третий объект из массива (первый аргумент), поскольку он содержит имя и его значение, которое было передано в качестве второго аргумента.
Моя попытка
function whatIsInAName(collection, source) {
let filteredCollection = collection.filter((item)=>{
return collection[item].indexOf((source[item])> 0);
})
return filteredCollection;
}
whatIsInAName([{ first: "Romeo", last: "Montague" }, { first: "Tybalt", last: "Capulet" }], { last: "Capulet" });
Мой вопрос
Я действительно пытался l oop через объекты и найти соответствующие ключи и значения в то же время время. Кажется, определенные функции не работают с объектами, как с массивами.
Ваша помощь очень важна для решения этой проблемы с кодом?