美文网首页
JS之向对象数组添加属性并赋值

JS之向对象数组添加属性并赋值

作者: 兰觅 | 来源:发表于2020-08-31 17:10 被阅读0次
两个对象数组合并属性与值
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";
    })
})

相关文章

  • JS之向对象数组添加属性并赋值

    两个对象数组合并属性与值 输出结果为: 两个对象数组合去重并合并 输出结果为: [来源]https://www.c...

  • vue中 this.$set的用法

    当vue的data里边声明或者已经赋值过的对象或者数组(数组里边的值是对象)时,向对象中添加新的属性,如果更新此属...

  • vue 改变数据后,数据变化页面不刷新问题

    当vue的data里边声明或者已经赋值过的对象或者数组(数组里边的值是对象)时,向对象中添加新的属性,如果更新此属...

  • JS向对象添加属性

    有条件地向对象添加属性 检查属性是否存在对象中 对象中的动态属性名称 使用动态键进行对象解构

  • 对象 - js对象

    1.Array对象 对象属性:1)constructor 2)length prototype允许你向数组对象添加...

  • OC与JS交互

    ios与js交互,获取webview完整url,title,获取元素并赋值跳转 JS 对象document:属性d...

  • 解构赋值

    解构赋值:为变量赋值可以从数组或对象属性值提取赋值

  • 向数组对象中添加属性

    向数组infoLists中每个对象添加名为imgSrc的属性,属性值从数组imgUrl中获取 未来还长,热血未凉

  • js 数组中对象排序以及比较相等

    js数组排序 通过arr中对象的属性进行排序 在往数组中存对象时,我给对象添加了个字段rowid,number类型...

  • Js数组常用方法

    //JS数组常用方法及其应用/** * 1.push(): 向数组尾部添加一个或多个元素,并返回添加新元素后的数组...

网友评论

      本文标题:JS之向对象数组添加属性并赋值

      本文链接:https://www.haomeiwen.com/subject/zvxpsktx.html