亲宝软件园·资讯

展开

es6 js 匹配数组对象

周家大小姐. 人气:3

判断两个数组用的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

加载全部内容

相关教程
猜你喜欢
用户评论