Генерация выражения [1][2]..[k]

180
20 марта 2018, 03:21

При прохождении некоторого цикла на каждой итерации необходимо проверять длину массивов, входящих в многомерный массив. А именно формируется выражение:

array[indexMultiArray].length , где

при 1й итерации array[3].length, при 2й итерации array[3][2].length и так далее. пока не закончатся массивы.

Идея: переменная indexMultiArray формируется как

indexMultiArray += '[' + index + ']';

В итоге при 1й итерации должно быть indexMultiArray = [3], при 2й - [3][2].

Проблема: в этому случае indexMultiArray - строка, и выражение array[indexMultiArray].length приобретает вид array"[3]".length, что конечно же ни к чему не приводит.

Вопрос: как сделать данную генерацию? Чтобы была не строка "[3]", а число [3]?

Выглядит этот кусок кода так:

 ...
  indexMultiArray += '[' + index + ']';
  if(element.length == array[indexMultiArray].length){..}
Answer 1
var indices = [];
...
indices.push(index);
var current = array;
for (var i = 0; i < indices.length; i++) {
  current = current[indices[i]];
}
if (element.length == current.length) {
  // ...
}
READ ALSO
Как использовать import/export в js?

Как использовать import/export в js?

Продолжаю работать над портфолиоСделал слайдер и решил выпилить его в модуль

226
Webpack проблема с областью видимости

Webpack проблема с областью видимости

Добрый день! Есть несколько модулей, которые подключены к appjs, вот например код, который лежит внутри:

174
Анимированная строка в инпуте

Анимированная строка в инпуте

Суть задачи в том, что есть два инпута, в одном инпуте вводиться строка, во втором инпуте она с анимацией выводитсяПопробовал реализовать,...

229
как сделать елементы в массиве в uppercase

как сделать елементы в массиве в uppercase

Задача состоит в том, чтобы при поиске елементов в массиве делать их в uppercase, как это можно сделать? Я пытался делать через arrindexOf(department)

171