Javascript lodash:将特性插入同一对象中的另一个特性

Javascript lodash:将特性插入同一对象中的另一个特性,javascript,arrays,lodash,Javascript,Arrays,Lodash,如何使用lodash在数组键外映射新键 这是我的数组 let data = [{ item : { data1 : data1 data2 : data2 }, data3 : data3 }] 我想出去: let data = [{ data1 : data1 data2 : data2 data3 : data3 } ] 这是我尝

如何使用lodash在数组键外映射新键

这是我的数组

 let data = [{
        item : {
            data1 : data1
            data2 :  data2
        },
        data3 : data3
    }]
我想出去:

let data = [{
        data1 : data1
        data2 :  data2
        data3 : data3
 }
]
这是我尝试的。我想做这样的事情

 let data = _.map(data, function(item, data) {
            return { item.item, data3: item.data3 };
        });

我的语法错了。我怎样才能删除项目键呢?

我怀疑地图功能是否会将其删除。您需要的是将项目与数据一起传播3。希望这能奏效

让数据=[{ 项目:{ data1:'data1', 数据2:“数据2” }, 数据3:“数据3” }] 数据=[{…数据[0]。项,数据3:数据[0]。数据3}]
logdata这个简单的工作不需要lodash

只需在map的回调参数中输入项和其余键,然后就可以使用返回合并对象

让数据=[{ 项目:{ 数据1:‘a’, 数据2:‘b’, }, 数据3:“c” }]; const result=data.map{item,…rest}=>{…item,…rest}; console.logresult 您还可以使用:

let data=[{item:{data1:'data1',data2:'data2'},data3:'data3'}]; 数据=[Object.assigndata[0]。项,{data3:data[0]。data3}];
控制台日志数据;这就是我想要的谢谢你。你能再解释一下。。。nv在使用前请注意,此答案只适用一次。如果你有一个真正的数组,你必须遍历数组。所以我取了数组的第一个元素,在你的数组中,你只有一个元素,如果你仔细看第一个元素,你有两个属性item和data3。您所需要的只是使用data3传播项的内部属性,以便。。。扩展一个对象,另外我添加了数据3作为第二个参数,您希望将其包装在一个数组中