javascript - ES6 Map Reduce 数组通过 Redux 状态的映射和填充变平

标签 javascript arrays reactjs ecmascript-6 mapreduce

我正在使用 ES6 编写一个 React/Redux 应用程序,我想要一种有效的方法来映射此数据:

[
  {total: 50, label: "C1"}, 
  {total: 120, label: "C2"}, 
  {total: 220, label: "C4"}
]

如下所示:

[
  {50, "Category 1"}, 
  {120, "Category 2"}, 
  {0, "Category 3"}, 
  {220, "Category 4"}
  {0, "Category 5"}, 
]

关键在于它会展平原始数组并重新标记标签值并填充缺失的键。

我可以用一些丑陋的 JS 迭代它来做到这一点,但我正在努力让它与一个简单而优雅的 reduce 箭头函数机制一起工作,我确信这是可能的。

最佳答案

使用.map()

var foo = [{
    total: 50,
    label: "C1"
  },
  {
    total: 120,
    label: "C2"
  },
  {
    total: 220,
    label: "C4"
  }
];

var flatFoo = foo.map((obj) => {
  return [
    obj.total,
    `${obj.label.substr(0, 1)}ategory ${obj.label.substr(1, 1)}`
  ];
});

console.log(flatFoo);

关于javascript - ES6 Map Reduce 数组通过 Redux 状态的映射和填充变平,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45696574/

相关文章:

javascript - Internet Explorer 中的 mousemove 问题

javascript - HTML Body CSS Transform Scaling Up 导致内容被删除

javascript - 语法错误 : Unexpected token: punc ())

javascript - 如何在登录和注册中隐藏导航栏?

javascript - 有没有一种方法可以_derive_null 而不是显式分配它?

javascript - 将第二个 div 的内容滚动到第一个 div 的末尾

c++ - 我错过了使用数组的意义吗?

arrays - 在 cellForRowAtIndexPath Swift 中将 Int Array 格式化为 String

c++ - 需要将 ifstream 输入文件转换为我可以循环和解密的格式

javascript - 将按高排序和低排序结合到一个函数中进行 react