javascript - 将 Javascript 子数组缩减为单个数组

标签 javascript arrays csv d3.js

我有以下代码的结果

 d3.csv("../hello.csv", function(data) {
    console.log(data);
    var usable = data.map(function (d) {
        return {    
            description: d.description.split(" ")
        };
    });
    console.log(usable);
});

可用的控制台日志是 [object, object, object] 当我展开它时是

0:Object
  description: Array[3]
    0 : "A"
    1 : "B"
    2 : "C"

1:Object
  description: Array[3]
    0 : "D"
    1 : "E"
    2 : "FG"

2:Object
  description: Array[5]
    0 : "AD"
    1 : "BD"
    2 : "DC"
    4 : "HH"

我需要的是如下的单个数组:

[A,B,C,D,E,FG,AD,BD,DC,HH]

将所有元素简化为单个数组而不是多个。

我怎样才能做到这一点?任何帮助将不胜感激。

最佳答案

您可以使用 D3.merge() 展平数组。假设这些是您的对象:

var obj1 = {description: [1,2,3]}
var obj2 = {description: [10,20,30,40]};
var obj3 = {description: [100,200,300,400,500]};

var array = [obj1, obj2, obj3]; // your array

所以这会产生您描述的输出:

console.log("array", array);

您可以使用 d3.merge(array) 将多个数组合并为一个:

var flattened = d3.merge([obj1.description, obj2.description, obj3.description]);
console.log("flattened", flattened);

它将打印:

flattened [1, 2, 3, 10, 20, 30, 40, 100, 200, 300, 400, 500]

参见:JSFiddle

关于javascript - 将 Javascript 子数组缩减为单个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37683624/

相关文章:

javascript - 如何开始学习 JavaScript

javascript - 使用javascript关闭当前网页onclick按钮?

ruby-on-rails - rails : Remove element from array of hashes

csv - 根据命令行中列的值删除 CSV 文件行

javascript - 在 Firefox 扩展中重定向请求(nsiHttpChannel?)

javascript - 在 JavaScript 中自动预设响应。

arrays - R 中的数组要替换的项目数不是替换长度的倍数

c# - 制作未知大小的数组 C#

php - 无法将文件 CSV 上传到托管数据库

r - 将 read_csv 与 readr 包一起使用时找不到函数 "OlsonNames"