您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(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ù)組里的某個元素方法
將兩個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è)資訊頻道,感謝大家的支持。
免責聲明:本站發(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)容。