/* 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')
我也是在网上找的前辈的办法,我记录下来就当是笔记了。