两个对象数组合并属性与值
var data1= [
{name:"张三",age:"10"},
{name:"李思",age:"15"},
{artist:"周杰",age:"20"}
];
var data2= [
{name:"小花",age:"1"},
{name:"小草",age:"2"},
]
for (let i = 0; i < arr.length; i++) {
songs.push(arr[i])
}
console.log(songs);
输出结果为:
Array [Object { name: "张三", age: "10" },
Object { name: "李思", age: "15" },
Object { artist: "周杰", age: "20" },
Object { name: "小花", age: "1" },
Object { name: "小草", age: "2"}];
两个对象数组合去重并合并
let jsonArr = [
{
"ID": "",
"NO": "1",
"NAME": "测试对象1"
},
{
"ID": "",
"NO": "2",
"NAME": "测试对象2"
},
{
"ID": "",
"NO": "3",
"NAME": "测试对象3"
},
{
"ID": "",
"NO": "4",
"NAME": "测试对象4"
},
{
"ID": "",
"NO": "5",
"NAME": "测试对象5"
}
];
let jsonArr2 = [ {
"ID": "",
"NO": "3",
"NAME": "测试对象3"
},
{
"ID": "",
"NO": "4",
"NAME": "测试对象4"
},
{
"ID": "",
"NO": "6",
"NAME": "测试对象6"
},
{
"ID": "",
"NO": "7",
"NAME": "测试对象7"
}
];
let length1 = jsonArr.length;
let length2 = jsonArr2.length;
for (let i = 0; i < length1; i++) {
for (let j = 0; j < length2; j++)
{
//判断添加的数组是否为空了
if (jsonArr.length > 0) {
if (jsonArr[i]["NAME"] === jsonArr2[j]["NAME"]) {
jsonArr.splice(i, 1); //利用splice函数删除元素,从第i个位置,截取长度为1的元素
length1--;
// console.log(jsonArr2[j]);//重复元素
}
}
}
}
for (let n = 0; n < jsonArr2.length; n++) {
jsonArr.push(jsonArr2[n]);
}
console.log(JSON.stringify(jsonArr));
输出结果为:
"[{"ID":"","NO":"1","NAME":"测试对象1"},
{"ID":"","NO":"2","NAME":"测试对象2"},
{"ID":"","NO":"5","NAME":"测试对象5"},
{"ID":"","NO":"3","NAME":"测试对象3"},
{"ID":"","NO":"4","NAME":"测试对象4"},
{"ID":"","NO":"6","NAME":"测试对象6"},
{"ID":"","NO":"7","NAME":"测试对象7"}]"
[来源]https://www.cnblogs.com/lilelile/p/10007370.html
向一个对象数组插入另一个对象数组中的属性与值
var a = [{name:'dede'},{name:'jeen'}];
var b = [{age:'18'},{age:'19'},{age:'20'}];
var c = 'age';
merge(a,b,c);
console.log(a)
function merge(a,b,attrName){
let attr = attrName
b.map((value,index)=>{
//数组b 长度大于a的长度时,需要判断
if(a[index] !== undefined){
a[index][attr] = value[attr]
} else{
return
}
})
return a
}
输出结果:
Array [Object { name: "dede", age: "18" }, Object { name: "jeen", age: "19" }]
向对象中插入对象
var obj1={'a':1};
var obj2={'b':2,'c':3};
for(var key in obj2){
if(obj2.hasOwnProperty(key)===true){//此处hasOwnProperty是判断自有属性,用 for in 循环遍历对象的属性时,原型链上的所有属性都将被访问会避免原型对象扩展带来的干扰
obj1[key]=obj2[key];
}
}
console.log(obj1);//{'a':1,'b':2,'c':3};
添加单个属性
let resultList = [{"name":"a1"},{"name":"b1"}]
resultList.forEach(tem => {
tem.age = 1;
})
循环向数组resultlist中添加age属性
let resultList = [{"name":"a1","shapes":[{"age":12,"sex":"female"}]},{"name":"b1","shapes":[{"age":10,"sex":"male"}]}]
resultList.forEach(item => {
item.shapes.forEach(tem => {
tem.class = "1";
})
})
网友评论