javascript 迭代和重新映射

标签 javascript mapping

我有一个如下所示的数据集:

const data = [["customer1",29349,3654],["customer2",29349,3654],["customer3",15178,130]

我需要使用 map 将数据转换为此。

series: [{
    category: 'Resolved before conciliation',
    data: [29349, 29349, 15178]
}, {
    category: 'Conciliation successful',
    data: [3654, 29349, 130]
}]

我尝试了以下方法,这让我获得了第一个类别,但我似乎无法弄清楚如何将第二个类别添加到同一张 map 中的系列中。

const series = [{
    name: 'Resolved before conciliation',
    data: data.map(([...data]) => (data[1]))
}]

console.log(JSON.stringify(series))

输出:

[{"name":"Resolved before conciliation","data":[29349,29349,15178]}]

最佳答案

使用reduce分组:

const data = [["customer1",29349,3654],["customer2",29349,3654],["customer3",15178,130]];

let reduced = data.reduce((results, arr) => {
   results[0].data.push(arr[1]);
   results[1].data.push(arr[2]);
   return results;
}, [{ category: 'Resolved before conciliation', data : [] }, { category: 'Conciliation successful', data : [] }]);

console.log(reduced);

关于javascript 迭代和重新映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46571576/

相关文章:

javascript - SuperTest - 应用程序未定义

javascript - 如何将元素推送到对象内的数组中? (javascript/jQuery)

php - 关于根据 IP 地址[字面意思]映射位置的问题

c++ - 专家的字符串和字符映射问题

python - 如何在 python 中创建我自己的映射类型

mapping - OneToMany-联接表和外键之间有什么区别?

javascript - 语法错误: Token ']' not a primary expression

javascript - Ruby/Sinatra/jQuery 应用程序未在 repl.it 中运行

javascript - 如何查询 MongoDB 的 2 个范围和文本搜索?

android - Kotlin - 如何在映射和过滤时跳过异常条目