JavaScript 数组对象 新增对象到数组 根据key判断没则添加有则替换

    /*
    initialArr: 原数组
    obj: 准备放入数组的对象
    pro: 对比的参数(一定要传字符串)
     */
     function formateArrObjData(initialArr, obj, pro) {
      let index = initialArr.findIndex((val) => val[pro] === obj[pro])
      // 如果有就替换  没有就添加
      if (initialArr.findIndex((val) => val[pro] === obj[pro]) !== -1) {
        initialArr.splice(index, 1, obj);
      } else {
        initialArr.push(obj);
      }
      return initialArr
    }

    var initialArr = [
      {a: 1, b: 1},
      {a: 2, b: 2}
    ]

    let newObj = formateArrObjData(initialArr, {a: 4, b: 44}, 'a')

    console.log(newObj, 'newObj')

我也是在网上找的前辈的方法,我记录下来就当是笔记了。

你可能感兴趣的:(javascript)