JavaScript。推送和读取多维数组

时间:2018-06-27 19:33:12

标签: javascript multidimensional-array

我正在尝试将值推入多维数组,并根据我在本网站其他文章上看到的代码从中读取值。这是我的数组推送代码。

SelectedWindowGraphs.push([ContainerIDValue,elementID+"chkbox"]);

ContainerIDValue是一个整数,elementID +“ chkbox”是我要存储在数组中该位置的内容。这是我调试代码时看到的内容:

enter image description here

这不是我想要的。在位置0,我想要CUT17chkbox,CUT18chkbox和CUT19chkbox。我该如何修复阵列才能做到这一点?

3 个答案:

答案 0 :(得分:1)

您必须推送到子数组:

 if(!SelectedWindowGraphs[ContainerIDValue])
   SelectedWindowGraphs[ContainerIDValue] = [];

 SelectedWindowGraphs[ContainerIDValue]
  .push(elementID+"chkbox");

答案 1 :(得分:1)

// initialize an array at that position in case it has not been defined yet
SelectedWindowGraphs[ContainerIDValue] = (SelectedWindowGraphs[ContainerIDValue] || 
[]); 
// push the value at the desired position
SelectedWindowGraphs[ContainerIDValue].push(elementID+"chkbox"); 

答案 2 :(得分:0)

您可以仅在以下位置添加元素:

var arr = [ 1, 2, 3, 4, 5, 6, 7 ]

arr[2] = "three";

console.log(arr);//[ 1, 2, 'three', 4, 5, 6, 7 ]

在多维数组中:

var arr = [ 1, [2, 3, 4, 5, 6], 7 ]

arr[1][2] = "four";

console.log(arr);//[ 1, [ 2, 3, 'four', 5, 6 ], 7 ]

执行推送时,您将在末尾添加一个或多个元素。

var arr = [1,2,3]

arr.push(4,5);//you are adding 4 and then 5

console.log(arr);//[ 1, 2, 3, 4, 5 ]

在多维数组中:

var arr = [1,2,[3,4]]

arr[2].push(5,6);//position 2

console.log(arr);//[ 1, 2, [ 3, 4, 5, 6 ] ]

要在特定位置插入元素(并在元素右移 n 位置),可以使用splice()。在以下情况下,第二和第三位置

var arr = [ 1, 2, 3, 4, 5 ]

arr.splice(2, 0, 999, 8888);

console.log(arr);//[ 1, 999, 8888, 2, 3, 4, 5 ]

在多维数组中:

var arr = [ 1, 2, [3,4,5], 6, 7 ]

arr.splice(2, 0, [8,9,10]);

console.log(arr);//[ 1, 2, [ 8, 9, 10 ], [ 3, 4, 5 ], 6, 7 ]