我上周开始使用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一样吗?
谢谢
您可以使用添加多个数组到另一个数组 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中.这是.json的D3文档,如果有帮助的话.
也可以将csv文件传递给D3,如果你不编辑你的数据,那么也可能是一个解决方案