为了账号安全,请及时绑定邮箱和手机立即绑定

js 两个数组对象如何判断是否有不相同的元素

js 两个数组对象如何判断是否有不相同的元素

汪汪一只猫 2019-02-05 18:03:18
如题,现有两个数组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);

试试


查看完整回答
反对 回复 2019-02-05
  • 1 回答
  • 0 关注
  • 597 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信