Javascript 如何使用值更新/分配“map”对象?

Javascript 如何使用值更新/分配“map”对象?,javascript,javascript-objects,Javascript,Javascript Objects,如何迭代对象数组并按预期返回新对象 在数组中有两个嵌套的对象。我想通过迭代这些对象来创建一个新对象,并返回新对象 我试过这样做,但不起作用: const props = datas.map(data => { props.data.bd.locale = data; }, {}); //new object required 如果我理解正确,您希望从对象数组创建对象。在这种情况下,您可以这样做: const props = datas.reduce((total, dat

如何迭代对象数组并按预期返回新对象

在数组中有两个嵌套的对象。我想通过迭代这些对象来创建一个新对象,并返回新对象

我试过这样做,但不起作用:

const props = datas.map(data => {
        props.data.bd.locale = data;
}, {}); //new object required

如果我理解正确,您希望从对象数组创建对象。在这种情况下,您可以这样做:

const props = datas.reduce((total, data) => {
    total[data.id] = data;

    return total;
}, {});
其中,
total
是一个新对象。请记住使用唯一标识符等。

这对我很有用:

const props:any = {}

datas.map(data => {
var label = data.bd.locale;
   return props[label] = data;
});

您可以使用reduce创建一个新对象

const props = datas.reduce((acc, data) => {
      acc[data.bd.locale] = data;
      return acc
}, {}); 

console.log(props);
或者干脆利用forEach

const props = {}
datas.forEach((acc, data) => {
        props[data.bd.locale] = data;
});

假设你有:

const数据=[
{
fname:“简”,
名字:“丹麦”,
说明:{
眼睛:“蓝色”,
皮肤:“苍白”
}
},
{
fname:“约翰”,
名称:“doe”,
说明:{
眼睛:“黑色”,
皮肤:“棕色”
}
}
]
然后你想把他们所有的
眼睛
变成“绿色”:

const props=datas.map(项=>{
const temp={…item,description:{…item.description,眼睛:“绿色”}
返回温度
})
您将得到以下结果:

const数据=[
{
fname:“简”,
名字:“丹麦”,
说明:{
眼睛:“绿色”,
皮肤:“苍白”
}
},
{
fname:“约翰”,
名称:“doe”,
说明:{
眼睛:“绿色”,
皮肤:“棕色”
}
}
]
这样,您就不会改变数据的值,同时,您也会创建一个改变后的数据实例

或者,如果您没有使用嵌套对象,请假设:

const数据=[
{
fname:“简”,
名字:“丹麦”
},
{
fname:“约翰”,
名称:“doe”
}
]
然后你想把他们所有的
lname
改成
awesome

const props=datas.map(项=>{
const temp={…项,lname:'awesome'}
返回温度
})

您能提供示例数据吗?你得到了什么,你想把它交给什么?这是我的尝试:我同意,我在这里不清楚。只是我需要使用对象数组name value创建一个新对象您期望的输出是什么?由于该数组在(未包含)示例中不包含任何嵌套对象,因此您创建了一个循环引用。@3gwebtrain:请用示例数据更新您的问题。