JavaScript. Нажмите и читайте из многомерного массива - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь поместить значения в многомерный массив и считывать значения из него на основе кода, который я видел в других публикациях на этом сайте. Это мой push-код массива.

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

ContainerIDValue - это целое число, а elementID + "chkbox" - это то, что я хочу сохранить в этой позиции в массиве. Вот что я увидел, когда отлаживал свой код:

enter image description here

Это не то, что я хочу. В позиции 0 я хочу CUT17chkbox, CUT18chkbox и CUT19chkbox. Как мне исправить мой массив, чтобы я это сделал?

Ответы [ 3 ]

0 голосов
/ 27 июня 2018
// 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"); 
0 голосов
/ 27 июня 2018

Вы можете добавить элементы в определенную позицию, просто выполнив:

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 ]

Когда вы выполняете push, вы добавляете один или несколько элементов в конце.

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 ]
0 голосов
/ 27 июня 2018

Вы должны нажать на подмассив:

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

 SelectedWindowGraphs[ContainerIDValue]
  .push(elementID+"chkbox");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...