設置一些模擬數據
//模擬數組
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())