我是JS和React的新手,但在这里有些卡住了。我已经搜索了SO,但是在找到有效的解释解决方案时遇到了麻烦。
这是我的数组。
第一个数组非常简单。
[1, 3, 4,]
第二个看起来像这样。
[
{
id: 1,
title: Title 1,
},
{
id: 2,
title: Title 2,
},
]
我想做的是搜索第二个数组,如果我可以找到与第一个数组中的值匹配的id,则将第二个数组中的对象添加到第三个新数组中。
我已经尝试了很多方法,并且我确定有一个相对简单的方法可以使用forEach循环或lodash来完成此操作,但是我将变得空白。
任何帮助和解释将不胜感激。
谢谢
答案 0 :(得分:4)
您的第二个数组无效。您必须用引号将字符串值引起来。
filter()方法创建一个新数组,该数组包含所有通过提供的功能实现的测试的元素。
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);