объявить hashmap в javascript с помощью

#javascript #hashmap

#javascript #hashmap

Вопрос:

Я хочу объявить hashmap в javascript с помощью <String, String array> вместо <String,Integer> . Как это можно сделать?

Ответ №1:

Если вы планируете использовать объект массива javascript, имейте в виду, что доступ к индексу массива возможен только через целые числа.

 var arr = [];
arr['person'] = 'John Smith';

alert(arr.length); // returns 0, not an array anymore;
  

и

 var arr = [];
arr[0] = 'John Smith';

alert(arr.length); // returns 1, still an array;
  

Вышеуказанное работало бы в javascript, но var arr на самом деле это больше не объект array. Вы не можете отсортировать его, например.

Итак, для вас hashmap вы могли бы сделать

 var map = new Object();

map['person'] = [];
map['person']['test'] = 'myvalue';
map['person']['test2'] = 'myvalue2';

alert(map['person']['test']);
  

Комментарии:

1. Вам лучше использовать var arr = {};

2. Вам лучше не использовать new Object() , это не так оптимизировано, как {} (я знаю, микрооптимизации не стоят хлопот), и кто-то, возможно, переопределил Object .