设置一些模拟数据
//模拟数组
var arr = [
{ id: 1, child: { id: 111, content: 'aaa' } },
{ id: 2, child: { id: 222, content: 'bbb' } },
{ id: 3, child: { id: 333, content: 'ccc' } }
]
//模拟对象
var obj = { id: 3, child: { id: 333, content: 'ddd' } }
第一种方法,设置一个标志进行判断
//方法一:
function start() {
var bool = false; // 判断对象是否在里面 默认为不在
var index;
for(var i = 0; i < arr.length; i++){
if(obj.id == arr[i].id){
bool = true; // 如果有就把状态变成在
index = i;
}
}
if(bool){ // 如果有就替换 没有就插入
arr.splice(index,1,obj)
}else{
arr.push(obj)
}
console.log(arr)
}
start();
第二种方法:如果有通过return直接结束,没有增加
function start() {
for (var i = 0; i < arr.length; i++) {
if (arr[i]['id'] == obj['id']) {
arr[i] = {};
arr[i] = obj;
return arr
}
}
arr.push(obj)
console.log(arr)
}
start();
console.log(start())