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

时间:2015-07-22 15:17:13

标签: 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];

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

world = [uk, us, fr, etc]

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

由于

3 个答案:

答案 0 :(得分:7)

您可以使用arr=np.zeros((height,width), np.float) for i in range(0, number_frames): imarr=np.array(numpy_frames_original[i,:,:].astype(float)) arr=arr+imarr/number_frames img_avg=np.array(np.round(arr),dtype=np.uint8) numpy_frames = np.array(np.absolute(np.round(np.array(numpy_frames_original.astype(float))-np.array(img_avg.astype(float)))), dtype=np.uint8)

将多个数组添加到另一个数组中
push

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

您可以使用var worlds = []; worlds.push(uk); worlds.push(us); worlds.push(fr); ,这样您就可以使用字符串object访问它们,并使代码更具可读性。即。

key

并访问以下数据:

var worlds = {
  "uk" : uk,
  "us" : us 
};

worlds.uk // will be the uk dataset/array

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

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

答案 1 :(得分:1)

  

Array.push似乎和concat一样吗?

不是真的,这就是为什么它采用不同的方法。你真正想要的是推动。也许是这样的:

world.push(uk, us, fr);

答案 2 :(得分:0)

您可以非常轻松地将数组添加到另一个数组中,如下所示:

var world = [
    uk, 
    us, 
    fr, 
    etc
];

这基本上就是你已输入的内容。它肯定会起作用,不会将它们连接在一起。