Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对象指定以更新对象的嵌套对象_Javascript - Fatal编程技术网

Javascript 对象指定以更新对象的嵌套对象

Javascript 对象指定以更新对象的嵌套对象,javascript,Javascript,嗨,我有一张物品清单。我想创建这些对象的新实例来更新一个值 常数arr=[ {data:{name:first,type:child}}, {data:{name:second,type:parent}}, ]; 我希望有一个相同对象的数组,但其类型应为大写,如下所示: 常数arr=[ {data:{name:first,type:CHILD}}, {data:{name:second,type:PARENT}}, ]; 我映射此数组并返回新的映射对象,我可以向对象添加新的道具,但找不到更改da

嗨,我有一张物品清单。我想创建这些对象的新实例来更新一个值

常数arr=[ {data:{name:first,type:child}}, {data:{name:second,type:parent}}, ]; 我希望有一个相同对象的数组,但其类型应为大写,如下所示:

常数arr=[ {data:{name:first,type:CHILD}}, {data:{name:second,type:PARENT}}, ]; 我映射此数组并返回新的映射对象,我可以向对象添加新的道具,但找不到更改data.type的方法。 以下是我的代码:

常数a=arr.mape=>{ 返回对象。赋值{},e,{data['type']:'???'} }; 使用地图:

const data=[{data:{name:'first',type:'child'}},{data:{name:'second',type:'parent'}] const result=data.map{data}=>{data:{…data,type:data.type.toUpperCase}; console.log{result}使用映射:

const data=[{data:{name:'first',type:'child'}},{data:{name:'second',type:'parent'}] const result=data.map{data}=>{data:{…data,type:data.type.toUpperCase};
console.log{result}您不需要使用Object.assign:

const a = arr.map(e => ({
    data: {
       name: e.name,
       type: e.type.toUpperCase()
    }
}))


您不需要使用Object.assign:

const a = arr.map(e => ({
    data: {
       name: e.name,
       type: e.type.toUpperCase()
    }
}))

这样怎么样

const arr=[{data:{name:'first',type:'child'}},{data:{name:'second',type:'parent'}] 常数a=arr.mape=>{ let data={…e[data],类型:e[data].type.toUpperCase}; 返回{…e,data}; }; console.loga 这样怎么样

const arr=[{data:{name:'first',type:'child'}},{data:{name:'second',type:'parent'}] 常数a=arr.mape=>{ let data={…e[data],类型:e[data].type.toUpperCase}; 返回{…e,data}; };
console.loga;我使用object assign是因为我正在向themmap添加一些新值。Map将返回新对象:是,我需要具有“修改”值的新对象数组。当然,原始阵列必须保持不变,这就是地图的目的。它正是你想做的。试试我的代码我使用object assign,因为我正在向themmap添加一些新值。Map将返回新对象:是,我需要具有“修改”值的新对象数组。当然,原始阵列必须保持不变,这就是地图的目的。它正是你想做的。试试我的代码,稍加修改,这正是我所需要的,谢谢;稍加修改,这正是我所需要的,谢谢;请再次检查输入/输出对象应具有数据属性请再次检查输入/输出对象应具有数据属性