在reduce函数中使用变量

凯蒂·哈德森

有一种感觉,我在这里缺少明显的东西。我正在使用像这样的reduce函数

const obj = this.data.reduce((ac,{Category, Count}) => (ac[Category] = Count,ac),{});

但是,我现在需要使用变量使Category和Count是动态的。就这样,我做了

const cat = this.format.header[0];
const count = this.format.header[1];
const obj = this.data.reduce((ac,{cat, count}) => (ac[cat] = count,ac),{});

虽然这似乎没有使用我的变量。我也尝试在其中使用它,但是这也不起作用。

如何在reduce中使用这些变量?

谢谢

Shidersz

您不能通过这种方式使用解构来实现所需的功能:

this.data.reduce((ac,{cat, count}) => (ac[cat] = count,ac),{});

这将尝试访问属性catcount从属于数组的对象而不是保存变量的对象访问属性但是,您可以这样做:

const cat = this.format.header[0];
const count = this.format.header[1];
const obj = this.data.reduce((ac, o) => (ac[o[cat]] = o[count], ac), {});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章