es6 js 匹配两个数组对象的方法
时间:2022-07-28 11:01:52|栏目:JavaScript代码|点击: 次
判断两个数组用的value是否相等
this.list = [ { user_type: 0, user_id: 1003, department_id: 1, department_name: "公司xx", mobile: "", realname: "廖xx", com_name: "任公司", label: "廖建平", value: 1003 }, { user_type: 0, user_id: 1004, department_id: 1, department_name: "公司领导", mobile: "", realname: "贺金生", com_name: "任公司", label: "贺xx", value: 1004 }, { user_type: 0, user_id: 1005, department_id: 1, department_name: "公司领导", mobile: "", realname: "李欢", com_name: "任公司", label: "李xx", value: 1005 } ] this.selectData = [ { user_type: 0, user_id: 1003, department_id: 1, department_name: "公司xx", mobile: "", realname: "廖xx", com_name: "任公司", label: "廖建平", value: 1003 }, { user_type: 0, user_id: 1004, department_id: 1, department_name: "公司领导", mobile: "", realname: "贺金生", com_name: "任公司", label: "贺xx", value: 1004 }, ]
方法一
let result = [] for (let i = 0; i < this.selectData.length; i++) { let obj = this.selectData[i] for (let j = 0; j < this.list.length; j++) { let aj = this.list[j] if (obj.value === aj.value) { result.push(aj) break } } } console.log("result", result)
方法二
let arr3 = this.selectData.filter(obj => this.list.some(obj1 => obj.value == obj1.value) ) console.info("arr3", arr3) this.result = arr3
方法三
let arr4 = [] let arr5 this.list.filter(obj => arr4.push(obj.value)) arr5 = this.selectData.filter(obj => arr4.indexOf(obj.value) !== -1) this.result = arr5