Что такое undefined x 1 в JavaScript?
Часть стандарта ECMA, JavaScript-консоли будут отображать объекты в виде массивов, когда объекты похожи на массивы. Например: ["hello", "world"] для объекта, содержащего строки, которые численно индексируются. Реализованные JavaScript-массивы отличаются от браузера к браузеру, но обычно они возвращаются к разреженной реализации - скорее всего, тот же, что и для доступа к ресурсам обычных объектов. Однако Google Chrome, похоже, предпочитает отображать разреженный массив, используя эту неопределенную нотацию x n. Вот как это выглядит. Введите этот код в консоль разработчика Chrome:
arr = new Array(4); arr[2] = "abcd"; console.log(arr);
Выход
[undefined Г— 2, "abcd", undefined Г— 1]
Выше вывод показывают, что первые два последовательных «неопределенных», которые представлены * 2, показывают, что там есть два последовательных неопределенных. Хотя, если есть только одно неопределенное значение, они могут отказаться от x 1. Таким образом, ясно, что браузер Chrome имеет свой собственный способ отображения неинициализированных индексов в массивах.
Редкие массивы JavaScript
Редкий массив - это тот, в котором элементы не имеют непрерывных индексов, начинающихся с 0. Обычно свойство length массива указывает количество элементов в массиве. Если массив разрежен, значение свойства length больше, чем количество элементов. Когда массив достаточно разрежен (недостающие индексы), он теряет свою особую эффективность при доступе к массиву по индексам. В производительности он эффективно похож на хэш-таблицу.