JS 两组数组对象,比较获取它们的不同值

102 阅读1分钟

JS 两组数组对象,比较获取它们的不同值,各位哥哥姐姐们,你还有其他好的方法,分享一下啦~~~~~~~~~

let list=[
{

  changeReason: "11",
  keyId: "20230328_4F31001DAMA-B307_A0926230328DN01",
  newSaleNum: "
},{

  changeReason: "33",
  keyId: "20230328_4F31001DAMA-B307_A0926230328DN01",
  newSaleNum: "33"
},
{

  changeReason: "22",
  keyId: "20230328_4F31001DAMA-B307_A0926230328DN01",
  newSaleNum: "22"
},
]
let oldList=[
{

  changeReason: "",
  keyId: "20230328_4F31001DAMA-B307_A0926230328DN01",
  newSaleNum: "
},{

  changeReason: "",
  keyId: "20230328_4F31001DAMA-B307_A0926230328DN01",
  newSaleNum: "
},
{

  changeReason: "",
  keyId: "20230328_4F31001DAMA-B307_A0926230328DN01",
  newSaleNum: "
},
]

dataChange(list,oldList)
const dataChange = (list,oldList) => {
    let newList = []
    for (let i = 0; i < [...list].length; i++) {
      let isExist = false;
      for (let j = 0; j < [...oldList].length; j++) {
        if ([...list][i].newSaleNum == [...oldList][j].newSaleNum && [...list][i].remark == [...oldList][j].remark) {
          isExist = true;
          break;
        }

      }
      if (!isExist) {
        let obj = {
          "keyId": [...list][i].keyId, //Key值
          "newSaleNum": [...list][i].newSaleNum, //修改订单量
          "remark": [...list][i].remark  //修改原因
        }
        newList.push(obj);
      }
    }

    return newList
  }