大家好我尝试将对象的值返回到另一个对象(不确定是否有意义)。 所以基本上我正在做的是映射这样的对象:
series:this.state.summaryData3[0].summary.population.gender.values.map((value) =>{
return [value]
})
我希望输出如下:
series: [54,46]
我该如何解决这个问题?
答案 0 :(得分:1)
要将浅表副本设为数组,可以使用.slice()
:
series: this.state.summaryData3[0].summary.population.gender.values.slice()
如果要在复制时修改数组中的每个值,可以使用.map()
并从回调中返回新值(不在数组中)。 .map()
函数将所有返回的单个值整理成一个新数组并返回该新数组:
series: this.state.summaryData3[0].summary.population.gender.values.map(function(item){
// some modification of the original value
return item + 1;
});
注意,如果您只是返回相同的值,则没有理由使用.map()
。如果您只想要原始值,则只需使用.slice()
制作副本即可。当然,除非你想要一个数组数组,否则不会返回数组。
而且,如果您只需要参考现有阵列本身,您甚至不需要复制:
series: this.state.summaryData3[0].summary.population.gender.values
因此,根据您的具体要求,您有三种不同的选择。