2013-12-02 2 views
0

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

winning = [Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3]] 
0: Array[3] 
    1: 0 
    2: 0 
    3: 0 

1: Array[3] 
    4: 0 
    5: 0 
    6: 0 

2: Array[3] 
3: Array[3] 
4: Array[3] 
5: Array[3] 
6: Array[3] 
7: Array[3] 

Я ищу что-то похожее на предыдущее. Индекс всегда начинается с нуля внутри вложенных массивов. Я хочу контролировать номер индекса, а также мне нужно динамически обновлять значение индекса, чтобы я мог изменить его на 1 или -1. Мой текущий массив создается следующим образом:

var winning = [[1,2,3],[4,5,6],[7,8,9], 
       [1,4,7],[2,5,8],[3,6,9], 
       [1,5,9],[7,5,3]]; 

Я считаю, что я должен быть в состоянии обновить значения, используя что-то вроде этого

winning[1][5] = -1; 

, который должен обновить

1: Array[3] 
    4: 0 
    5: -1 
    6: 0 

Есть ли способ выполнить это?

+0

Создать массив из чего? Да ..'winning [1] [5] = -1; 'является правильным синтаксисом ... но в javascript нет ассоциативных массивов – charlietfl

ответ

3

Массив обозначается квадратными скобками [], тогда как ассоциативный массив (также известный как объект) обозначается фигурными скобками {}.

JSFIDDLE

var winning = [{1:0,2:0,3:0},{4:0,5:0,6:0},{7:0,8:0,9:0}, 
       {1:0,4:0,7:0},{2:0,5:0,8:0},{3:0,6:0,9:0}, 
       {1:0,5:0,9:0},{7:0,5:0,3:0}]; 

winning[1][5] = -1; 

console.log(winning); 
Смежные вопросы