如题,现有两个数组arr1 = [
{'name': '笔记本' , 'value' : '2', 'type' : '1'},
{'name': '记事本' , 'value' : '3', 'type' : '1'},
{'name': '书本' , 'value' : '3', 'type' : '1'},
{'name': '笔本' , 'value' : '2', 'type' : '1'},
{'name': '笔记本' , 'value' : '4', 'type' : '1'}
]
arr2 = [
{'name': '笔记本' , 'value' : '2', 'type' : '1' , num: '22', default: true},
{'name': '记事本' , 'value' : '3', 'type' : '1', num: '22', default: true},
{'name': '黑板' , 'value' : '6', 'type' : '2', num: '22', default: true},
{'name': '画板' , 'value' : '5', 'type' : '1', num: '22', default: true},
{'name': '书本' , 'value' : '3', 'type' : '1', num: '22', default: true},
{'name': '笔本' , 'value' : '2', 'type' : '1', num: '22', default: true},
{'name': '笔记本' , 'value' : '4', 'type' : '1', num: '22', default: true}
]要判断arr1里所有元素的name跟value是否与arr2的元素的name和value有完全匹配项,如果arr1里有一个对象里的name与value在arr2中不存在,则返回false,应该如何解决
1 回答
拉丁的传说
TA贡献1789条经验 获得超8个赞
const map = {}; arr1.forEach(i => { map[`${i.name}_${i.value}`] = true; });const isSame = arr2.every(x => map[${x.name}_${x.value}]);console.log('是否全部相同', isSame);
试试
- 1 回答
- 0 关注
- 597 浏览
添加回答
举报
0/150
提交
取消