在JavaScript中将数组附加到数组数组

Nor*_*ine 0 javascript arrays

我上周开始使用JavaScript来创建一些D3可视化,并且已经变得非常困难于只能是一个非常简单的任务.

我有不同国家的各种数据系列,每个都存储在数组中,例如

var uk = [1,2,3,4,5,6,7,8],
    us = [8,4,7,3,7,8,3,2],
    fr = [4,6,8,3,2,6,8,4];
Run Code Online (Sandbox Code Playgroud)

我想创建一个主数组,它包含所有这些单独的数组,而不是连接/合并,所以:

world = [uk, us, fr, etc]
Run Code Online (Sandbox Code Playgroud)

如何以这种方式添加数组,以便它们不会连接在一起?请注意,有数百个国家/地区,因此我无法手动输入它们,如上所述,我实际上是从单个csv文件中提取它们,因此可以在提取它们时轻松迭代它们.Array.push似乎和concat一样吗?

谢谢

atm*_*tmd 7

您可以使用添加多个数组到另一个数组 push

var worlds = [];
worlds.push(uk);
worlds.push(us);
worlds.push(fr);
Run Code Online (Sandbox Code Playgroud)

您当然会在数字上引用不同的子集/数组,即worlds [0] ='uk'数据

您可以使用object替代方式,这样您就可以使用字符串访问它们key并使代码更具可读性.即

var worlds = {
  "uk" : uk,
  "us" : us 
};
Run Code Online (Sandbox Code Playgroud)

并访问如下数据:

worlds.uk // will be the uk dataset/array
Run Code Online (Sandbox Code Playgroud)

要么

worlds["uk"] // which allows you to store "uk" as a variable
Run Code Online (Sandbox Code Playgroud)

NB虽然不是问题,但我看到你正在使用D3.D3有一个json方法,它读取json文件并将其用作数据.您最好使用json对象来保存数据并将其直接传递到D3中.这是.jsonD3文档,如果有帮助的话.

也可以将csv文件传递给D3,如果你不编辑你的数据,那么也可能是一个解决方案