Я долго искал, но не могу найти решение.
У меня есть массив объектов -
const arrayOfObjects = [{id:"EUR", name:"EURO"}, {id:"USD", name:"US Dollar"}...]
, а затем у меня есть массив строк
const arrayOfStrings = ["EUR"]
Я хочу получить третий массив, который будет содержать полные объекты, но только те, в которых id! == элемент в arrayOfStrings.
Итак, результат -
const resultArray = [{id:"USD", name:"US Dollar"}].
Как бы я go об этом?
РЕДАКТИРОВАТЬ: я делаю это как часть createSelector
export const currencies = curr => {
return createSelector(
[arrayObjectSelector, arrayStringsSelector(curr)],
(objectArr, stringArr) =>
objectArr &&
objectArr.filter(
currency => stringArr && stringArr.indexOf(currency.id) == -1
)
);
};
По какой-то причине, массив валют остается неизменным ..