js操作兩個json數(shù)組合并、去重,以及刪除某一項元素
兩個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()的描述:
詳情可以 查看這篇文章:http://www.dhdzp.com/article/43046.htm
arrayObject.splice(index, howmany, item1, ....., itemX) 方法向/從數(shù)組中添加/刪除項目,然后返回被刪除的項目。
參數(shù)1:index 為插入添加或(和)刪除的起始位置;
參數(shù)2:howmany 指定從數(shù)組中添加/刪除的元素個數(shù);
參數(shù)3:item1, ....., itemX 可選,選擇添加操作時填入,表示需要添加的元素。
參考:
js刪除json中指定的元素
下面是其他網(wǎng)友的補(bǔ)充
將兩個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ù)組的方法來進(jìn)行合并。
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判斷重復(fù)
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ù)組元素順序依次處理元素。可以在map方法里面輸入console.log(item)打印看下,它會把數(shù)組中的對象依次打印出來。
相關(guān)文章
Javascript Jquery 遍歷Json的實現(xiàn)代碼
Javascript Jquery 遍歷Json的實現(xiàn)代碼,需要的朋友可以參考下。2010-03-03
JSON.parse()方法轉(zhuǎn)換對象的示例以及注意事項
這篇文章主要介紹了JSON.parse()方法轉(zhuǎn)換對象的示例以及注意事項,我們可以使用 JSON.parse() 方法將數(shù)據(jù)轉(zhuǎn)換為 JavaScript 對象,需要的朋友可以參考下2023-05-05

