es6 filter 以第二个数组为过滤条件
首先需求是打印第二个数组的展示顺序为:
[{id: 'num1', name: '我是第一名'}, {id: 'num2', name: '我是第二名'}]
接下来看具体情况:
let arr2List = [];
let selectNewList = []; //组装过后的数组
let arr1 = [
{id: 'num1', name: '我是第一名'},
{id: 'num2', name: '我是第二名'},
{id: 'num3', name: '我是第三名'}
];
let arr2 = [
{id: 'num2', name: '我是第二名'},
{id: 'num1', name: '我是第一名'}
];
arr2.forEach(item => {
arr2List.push(item.id); // arr2List结果为: ["num2", "num1"]
});
console.log('arr2List', arr2List);
arr1.forEach(val => {
if(arr2List.indexOf(val.id) !== -1) {
selectNewList.push(val);
}
})
console.log('selectNewList', selectNewList);
// 输出结果为: [{id: 'num1', name: '我是第一名'}, {id: 'num2', name: '我是第二名'}]
注意:把第二个数组放到全新数组里