繁体   English   中英

JavaScript。 推送和读取多维数组

[英]JavaScript. Push and read from Multidimensional Array

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

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

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

在此处输入图片说明

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

您必须推送到子数组:

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

 SelectedWindowGraphs[ContainerIDValue]
  .push(elementID+"chkbox");
// 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"); 

您可以执行以下操作在特定位置添加元素:

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() 在以下情况下,第2位和第3位

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 ]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM