JavaScript населяет пустые пункты множества?

Я кодирую много ежегодных данных в JavaScript, и я рассматривал добавление его ко множествам, используя год в качестве индекса множества и помещая данные во множество. Однако Поджигатель, кажется, указывает, что JavaScript обращается с этим, населяя две тысячи странных записей во множестве с «неопределенным». С сотнями таких множеств, перебрасывающихся в активной памяти, я волнуюсь, что верхние из сотен тысяч бесполезных пунктов множества могли начать замедлять программу. Будет это?

9
задан futuraprime 11 January 2010 в 04:25
поделиться

4 ответа

При установке значения числового индекса выше текущего длина вашего массива, Длина влияет на свойство .

Вкратце, вы должны использовать объект :

var data = {};
data[year] = "some data";

// or
var data = {
  2009: "2009 data",
  2010: "2010 data"
};

Теперь я отвечаю на титул вопроса: « Наполняется ли JavaScript элементы пустых массив? »

Нет, как я Сказал раньше, изменяется только длина длина (при необходимости, только если добавлена ​​индекс больше текущего длина ), длина увеличивается один больше, чем числовое значение этого индекса.

Array 2 . Прототип Методы работы, предполагая, что объект массива будет иметь свои индексы, начиная с нуля.

Предыдущие индексы действительно не существуют в объекте Array , вы можете проверить его:

var array = [];
array[10] = undefined;

array.hasOwnProperty(10); // true
array.hasOwnProperty(9);  // false

В заключение, массивы предназначены для содержания последовательных индексов, начиная с нуля, если ваши свойства DON ' T Узнать эти требования, вы должны просто использовать объект.

11
ответ дан 4 December 2019 в 13:47
поделиться

Если вы используете Vim в окнах, то это будет работать:

:! start http://localhost/index.php

Это будет использовать браузер по умолчанию, если вы хотите запустить определенный браузер, то вам потребуется явный путь к исполняемому файлу (вместо запуска).

Из справки Vim cmd :

:! {cmd}

Выполните {cmd} с помощью снаряд. См. также «оболочка» и параметр «shelltype».

Очевидно, что если вы находитесь в какой-либо другой системе, вам просто нужно использовать соответствующую команду для запуска браузера на этой платформе.

-121--3519700-

Используйте number-rows-spanned или number-column-spanned. Но почему бы не использовать визуальный дизайнер? Я использую Ecrion XF Designer и это очень хорошая работа.

-121--1885360-

Ну, если вы повторите много тысяч неопределенных, это повлияет на общую скорость программы, не уверен, что вы заметите это.

0
ответ дан 4 December 2019 в 13:47
поделиться

Да, скорее всего. Вместо этого вы должны рассмотреть возможность использования объекта JavaScript:

var years = {2009: 'Good', 2010: 'Better'};
4
ответ дан 4 December 2019 в 13:47
поделиться

С другой стороны, иногда более просторный массив проще в использовании, чем пользовательский объект, и массивы имеют такие удобные методы.

В приложении календаря я начинаю с объектов для каждого года в использовании, но каждый год состоит из двенадцати члена (месяцев массива), и каждый «месяц» - это редкий массив значительных дат, длительность которых зависит от наивысшей даты в этом месяце, у которых есть какие-либо данные.

0
ответ дан 4 December 2019 в 13:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: