美文网首页
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.haomeiwen.com/subject/zvxpsktx.html