遍历对象数组,检查匹配的参数并将匹配的对象添加到新数组

Nic*_*ood 1 javascript arrays lodash reactjs

我是JS和React的新手,在这里有些卡住了。我已经搜索了SO,但是在找到有效解释的解决方案时遇到了麻烦。

这是我的数组。

第一个数组非常简单。

[1, 3, 4,]
Run Code Online (Sandbox Code Playgroud)

第二个看起来像这样。

[
  {
    id: 1,
    title: Title 1,
   },
  {
    id: 2,
    title: Title 2,
   },
]
Run Code Online (Sandbox Code Playgroud)

我想做的是搜索第二个数组,如果我可以找到一个与第一个数组中的值匹配的id,则将对象从第二个数组添加到第三个新数组。

我已经尝试了很多方法,并且确定可以使用forEach循环或lodash来实现此目的,这是一种相对简单的方法,但是我空白了。

任何帮助和解释将不胜感激。

谢谢,

Mam*_*mun 5

您的第二个数组无效。您必须用引号将字符串值包装起来。

您可以使用 Array.prototype.filter()

filter()方法创建一个新数组,其中所有元素都通过了由提供的函数实现的测试。

Array.prototype.includes()

includes()方法确定数组是否包含某个元素,并在适当时返回true或false。

请尝试以下方式:

var arr1 = [1, 3, 4,];

var arr2 = [
  {
    id: 1,
    title: 'Title 1',
   },
  {
    id: 2,
    title: 'Title 2',
   },
];

var res = arr2.filter(i => arr1.includes(i.id));

console.log(res);
Run Code Online (Sandbox Code Playgroud)