鍍金池/ 問答/HTML/ 用js將一個數(shù)組插入到字符串中

用js將一個數(shù)組插入到字符串中

在js前端取得json數(shù)據(jù)后想些處理達到期望的效果。
數(shù)據(jù):

data1 = [{"id":1,"name":"a"},{"id":2,"name":"b"}];
data2 = [{"id":1,"sex":"man"},{"id":2,"sex":"man"},{"id":3,"sex":"woman"},{"id":4,"sex":"woman"}];

期望:

data3 = [{
        "id":1,
        "name":"a",
        "info": [{
                "id":1,
                "sex":"man"
                },{
                "id":2,
                "sex":"man"
                },
                {
                "id":3,
                "sex":"woman"
                },{
                "id":4,
                "sex":"woman"
            }],
        },{
        "id":2,
        "name":"b",
        "info": [{
                "id":1,
                "sex":"man"
                },{
                "id":2,
                "sex":"man"
                },
                {
                "id":3,
                "sex":"woman"
                },{
                "id":4,
                "sex":"woman"
            }],
        }];
        

我該怎么寫,我的想法是把data1的每個數(shù)組取出來,然后往里面用push插入data2的數(shù)據(jù),然后將data1的數(shù)組重新合并得出結(jié)果。 寫法如下:

for(var i = 0; i< data1.length-1; i++) {
    var info= [];
    var newArr = [];
    info[i].push(data2);
    newArr.push(info[i]);
}
return newArr ;        

不知道這樣寫可以嘛。

回答
編輯回答
陪她鬧

你如果要把 data2 當做 data1 每一項的 info 屬性,難道不是

data1.forEach(el => el.info = data2.concat())
2017年3月25日 11:55
編輯回答
過客

試試這個

for(var i = 0; i< data1.length; i++) {
    data1[i].info = data2;
}
console.log(data1);
2018年3月14日 14:05
編輯回答
拽很帥
data1 = [{"id":1,"name":"a"},{"id":2,"name":"b"}];
data2 = [{"id":1,"sex":"man"},{"id":2,"sex":"man"},{"id":3,"sex":"woman"},{"id":4,"sex":"woman"}];

for(var i=0;i<data1.length;i++){
    data1[i].info = data2
}

console.log(data1);
2017年4月7日 02:17
編輯回答
爆扎
data3 = data1.map( v => Object.assign({}, v, {info: data2}) )
2017年3月7日 04:07