分别传入,数组,需要替换或者添加的对象,用于判断的key值
调用:
// this.arrplayTime 为Array ; playtimes 为Object ; 'id' 为判断的键值
this.formateArrObjData(this.arrplayTime,playtimes,'id')
判断数组对象中,某个对象的key值是否重复,有则更新,无责添加
方法:
formateArrObjData(initialArr, obj, pro) {
// 判定数据是否为数组
if (!(initialArr instanceof Array)) {
return [] //'请传入正确格式的数组'
}
// 判定数据是否为对象
if (!(obj instanceof Object)) {
return [] //'请传入正确格式的对象'
}
if (!pro) {
return [] //'请传入正确格式的属性名'(用于判断的key值)
}
let index = initialArr.findIndex((val) => val[pro] === obj[pro])
let tempArr = initialArr
// 如果有就替换 没有就添加
if (initialArr.findIndex((val) => val[pro] === obj[pro]) !== -1) {
tempArr.splice(index, 1, obj);
} else {
tempArr.push(obj);
}
return tempArr
},