Да, это так! Я нашел это довольно быстро. Я мог бы сказать, что это может быть самый быстрый способ создания массива N длины, в результате чего создаются пустые массивы с использованием JavaScript. (то есть произвольное число измерений, каждое из которых имеет произвольную длину)
Несмотря на то, что определение массива в JavaScript в лучшем случае туманно.
function createNDimArray(dimensions) {
var t, i = 0, s = dimensions[0], arr = new Array(s);
if ( dimensions.length < 3 ) for ( t = dimensions[1] ; i < s ; ) arr[i++] = new Array(t);
else for ( t = dimensions.slice(1) ; i < s ; ) arr[i++] = createNDimArray(t);
return arr;
}
Обычаи:
var arr = createNDimArray([3, 2, 3]);
// arr = [[[,,],[,,]],[[,,],[,,]],[[,,],[,,]]]
console.log(arr[2][1]); // in FF: Array [ <3 empty slots> ]
console.log("Falsy = " + (arr[2][1][0]?true:false) ); // Falsy = false
Если вы хотите узнать больше; проверьте мой ответ на этот вопрос .