Всем привет. Така ситуация:
Есть массив ключей
["key1", "key2"]
Есть массив объектов
[{name: "Hey", key: "key1"}, {name: "Hello", key: "key2"}, {name: "Toster", key: "toster"}, {name: "Stack", key: "Stack"}]
Надо вернуть только объэкты у которых ключи равны массиву ключей. То есть:
[{name: "Hey", key: "key1"}, {name: "Hello", key: "key2"}]
Я сделал так:
getObjByKey = (objKey) => {
const {data} = this.state; // array of objects
if(!isEmpty(data)){
let newArr = [];
objKey.forEach((key) => {
data.filter((element) => {
if(element.key === key){
newArr.push(element);
}
});
});
return newArr;
}
return;
}
Но мне кажется, что есть решение более гибкое.