Как создать / поддерживать базовый ассоциативный массив / хэш с помощью JavaScript? - PullRequest
0 голосов
/ 27 февраля 2012

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

Я создал массив:

var arrX = new Array();

Как я могу добавить к этому? Как это?

arrX[acceleration.timestamp] = acceleration.x

Ответы [ 3 ]

1 голос
/ 27 февраля 2012

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

var arrX = {};

arrX[acceleration.timestamp] = acceleration.x;

Дополнительная информация:

0 голосов
/ 27 февраля 2012

В Javascript, если вам нужен ассоциативный массив, вы используете объект:

var hash1 = {}; // declare
hash1.first = 'abc'; // set property first to a string
hash1['second'] = 'def'; // set property second to a string

var t = 'third';
hash1[t] = 'ghi'; // set property third to a string

hash1.forth = {a:1, b: 'abc'}; // set property forth to be an object / hash
                               // with 2 properties

alert (hash1.forth.a); // will alert with 1  
0 голосов
/ 27 февраля 2012

Вы можете сделать это, но без массива.Просто используйте объект, подобный этому

var values = {};
values[acceleration.timestamp] = acceleration.x;

, потому что если вы сделаете что-то вроде этого

var x = [];
x[1555] = 500;

, вы создадите массив из 1556 элементов, со всеми элементами, но для 1555 установлено значение undefined

...