Javascript 比较对象数组和字符串数组并删除重复项

Javascript 比较对象数组和字符串数组并删除重复项,javascript,react-redux,Javascript,React Redux,我已经找了很长时间了,但找不到解决办法 我有一个对象数组- const arrayOfObjects = [{id:"EUR", name:"EURO"}, {id:"USD", name:"US Dollar"}...] 然后我有一个字符串数组 const arrayOfStrings = ["EUR"] 我想得到第三个数组,它将包含完整的对象,但只包含id!==数组字符串中的元素 结果如何- const resultArray = [{id:"USD", name:"US Dollar"

我已经找了很长时间了,但找不到解决办法

我有一个对象数组-

const arrayOfObjects = [{id:"EUR", name:"EURO"}, {id:"USD", name:"US Dollar"}...]
然后我有一个字符串数组

const arrayOfStrings = ["EUR"]
我想得到第三个数组,它将包含完整的对象,但只包含id!==数组字符串中的元素

结果如何-

const resultArray = [{id:"USD", name:"US Dollar"}].
我该怎么做呢

编辑:我是作为createSelector的一部分来做这件事的

export const currencies = curr => {
  return createSelector(
    [arrayObjectSelector, arrayStringsSelector(curr)],
    (objectArr, stringArr) =>
      objectArr &&
      objectArr.filter(
        currency => stringArr && stringArr.indexOf(currency.id) == -1
      )
  );
};

由于某些原因,货币数组保持不变。

您可以使用
array#filter
过滤数组,其中不存在id值
arrayOfStrings

const arrayOfObjects=[{id:“欧元”,名称:“欧元”},{id:“美元”,名称:“美元”}]
const arrayOfStrings=[“欧元”]
const res=arrayOfObjects.filter(item=>arrayOfStrings.indexOf(item.id)=-1);

console.log(res)
Array filter…在这里发布之前,我尝试了许多不同的解决方案,包括prasanth的解决方案。它不工作,不幸的是,我在redux中将它用作createSelector的一部分,由于某种原因它不工作..原因是什么?对不起,我不知道redux。请在
objectArr
stringArr
中发布您得到的值?我得到了整个对象,没有任何东西被过滤。[{id:“EUR”,name:“Euro”},{id:“USD”,name:“usdollar”}我还试图将它存储到一个变量并返回它,但仍然没有结果。(const x=objectArr&&objectArr..)stringArr我得到[“欧元”,“美元”]