大家好,我尝试将一个对象的值返回到另一个对象中(不确定这是否有意义)。 所以基本上我正在做的是映射像这样的对象:
series:this.state.summaryData3[0].summary.population.gender.values.map((value) =>{
return [value]
})
我希望输出是这样的:
series: [54,46]
我该如何解决这个问题?
最佳答案
要对数组进行浅复制,可以使用.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
<小时/>
因此,根据您的具体要求,您可以在这里选择三种不同的选项。
关于javascript - 如何将映射值返回到以逗号分隔的对象 [] 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44810208/