溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用js實現(xiàn)操作兩個json數(shù)組合并、去重,以及刪除某一項元素

發(fā)布時間:2020-11-02 16:15:49 來源:億速云 閱讀:1030 作者:Leah 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān)使用js實現(xiàn)操作兩個json數(shù)組合并、去重,以及刪除某一項元素,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

兩個json數(shù)組合并去重,以及刪除某一項元素

let ha = [
 {id:'H',name:'3'},
 {id:'A',name:'6'},
 {id:'B',name:'14'},
 {id:'C',name:'60'}
 ];

let hb= [ 
 {id:'H',name:'2'},
 {id:'A',name:'6'},
 {id:'B',name:'16'}, 
 {id:'N',name:'2'},
 {id:'C',name:'19'}
 ];

// 合并兩個json數(shù)組,并去重;

ha= Object.assign([], ha, hb);
console.log('ha',ha);

// [ 
 {id:'H',name:'2'},
 {id:'A',name:'6'},
 {id:'B',name:'16'}, 
 {id:'N',name:'2'},
 {id:'C',name:'19'}
 ];


// 去除json數(shù)組中的某一項

ha.splice(3, 1);
console.log('ha',ha);

// [ 
 {id:'H',name:'2'},
 {id:'A',name:'6'},
 {id:'B',name:'16'}, 
 {id:'C',name:'19'}
 ];

注:

一、Object.assign()方法,淺拷貝、對象屬性的合并(數(shù)組是對象)

二、splice()方法

在W3C中我們可以查到有關(guān)于splice()的描述:

詳情可以 查看這篇文章:https://www.jb51.net/article/43046.htm

arrayObject.splice(index, howmany, item1, ....., itemX) 方法向/從數(shù)組中添加/刪除項目,然后返回被刪除的項目。

參數(shù)1:index 為插入添加或(和)刪除的起始位置;

參數(shù)2:howmany 指定從數(shù)組中添加/刪除的元素個數(shù);

參數(shù)3:item1, ....., itemX 可選,選擇添加操作時填入,表示需要添加的元素。

參考:

JS中徹底刪除json對象組成的數(shù)組中的元素

js刪除json中指定的元素

JS刪除數(shù)組里的某個元素方法

下面是其他網(wǎng)友的補充

將兩個json數(shù)組合并

var str1=[{name:"11",age:11}];
var str2=[{name:"22",age:22}];
 
var str3 = [];
 
for (var i = 0; i < str1.length; i++) {
  str3.push(str1[i]);
}
 
for (var i = 0; i < str2.length; i++) {
  str3.push(str2[i]);
}
 
--------------
 
var str3 = str1.concat(str2);

本質(zhì)上是數(shù)組,用合并數(shù)組的方法來進行合并。

JS實現(xiàn)JSON數(shù)組合并和去重

有兩個json數(shù)組demo1和demo2

var demo1 = [{"id": 0, "name": "牛肉"},{"id": 1,"name": "羊肉"}];
var demo2 = [{"id": 2, "name": "牛肉"},{"id": 3,"name": "魚肉"},{ "id": 4,"name":"雞肉"}];

數(shù)組合并

var totalDemo = demo1.concat(demo2);
console.log(totalDemo); //[{"id": 0, "name": "牛肉"},{"id": 1,"name": "羊肉"},{"id": 2, "name": "牛肉"},{"id": 3,"name": "魚肉"},{ "id": 4,"name":"雞肉"}]

數(shù)組合并用的是concat方法,它可以用于字符串之間的連接和數(shù)組之間的連接。

數(shù)組去重

上面已經(jīng)得到合并的數(shù)組 totalDemo ,去掉name屬性是一樣的json對象

var temp = {};  //用于name判斷重復
var result = []; //最后的新數(shù)組

totalDemo.map(function (item, index) {
  if(!temp[item.name]){
    result.push(item);
    temp[item.name] = true;
  }
});

console.log(result);//[{"id": 0, "name": "牛肉"},{"id": 1,"name": "羊肉"},{"id": 3,"name": "魚肉"},{ "id": 4,"name":"雞肉"}];

map方法:按照原始數(shù)組元素順序依次處理元素??梢栽趍ap方法里面輸入console.log(item)打印看下,它會把數(shù)組中的對象依次打印出來。

看完上述內(nèi)容,你們對使用js實現(xiàn)操作兩個json數(shù)組合并、去重,以及刪除某一項元素有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI