如何将地图值返回到以逗号分隔的对象[]中

时间:2017-06-28 18:39:27

标签: javascript ecmascript-6

大家好我尝试将对象的值返回到另一个对象(不确定是否有意义)。 所以基本上我正在做的是映射这样的对象:

series:this.state.summaryData3[0].summary.population.gender.values.map((value) =>{
 return [value]
})

我希望输出如下:

series: [54,46]

我该如何解决这个问题?

1 个答案:

答案 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

因此,根据您的具体要求,您有三种不同的选择。