首頁 > 軟體

es6 js 匹配兩個陣列物件的方法

2022-03-28 19:00:36

判斷兩個陣列用的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

到此這篇關於es6 js 匹配兩個陣列物件的方法的文章就介紹到這了,更多相關es6 js 匹配陣列物件內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com