Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Многомерный массив на JS (https://javascript.ru/forum/events/35768-mnogomernyjj-massiv-na-js.html)

allanmiln 21.02.2013 15:37

Многомерный массив на JS
 
Есть несколько идентификаторов, и к каждому нужно прицепить определённое число.
например,
id value
505 => 600
52 => 458
26 => 850

ksa 21.02.2013 15:39

Цитата:

Сообщение от allanmiln
Есть несколько идентификаторов, и к каждому нужно прицепить определённое число.
например,
id value
505 => 600
52 => 458
26 => 850

Внимание, вопрос! (с) (звучит гонг)

allanmiln 21.02.2013 15:40

Как составить такой массив на JS? :)

ksa 21.02.2013 15:42

Цитата:

Сообщение от allanmiln
id value
505 => 600
52 => 458
26 => 850

Оно?

var o=[
   {id: 505, value: 600},
   {id: 52, value: 458},
   {id: 26, value: 850}
];

allanmiln 21.02.2013 15:45

А выводить как?

ksa 21.02.2013 15:45

Либо вообще

var o={
   505: 600,
   52: 458,
   26: 850
};
alert(o[52]);

ksa 21.02.2013 15:46

Цитата:

Сообщение от allanmiln
А выводить как?

По первому варианту

var o=[
   {id: 505, value: 600},
   {id: 52, value: 458},
   {id: 26, value: 850}
];
alert(o[1].id+' = '+o[1].value);

allanmiln 21.02.2013 15:48

Спасибо!

rgl 21.02.2013 16:28

Цитата:

Сообщение от ksa (Сообщение 236112)
Либо вообще

var o={
   505: 600,
   52: 458,
   26: 850
};
alert(o[52]);

Хм-м, век живи, век учись. Для меня это открытие, до сих пор считал, что перед двоеточием может стоять только идентификатор, или же любая строка, но тогда в кавычках.
var o={
   "505": 600,
   "52": 458,
   "26": 850
};

Т.е. можно x:10, "20":30 но нельзя 40:50
Ибо
Цитата:

Сообщение от Дэвид Флэнаган
Самый простой способ создания объектов заключается во включении в программу литерала объекта. Литерал объекта – это заключенный в фигурные скобки список свойств (пар «имя–значение»), разделенных запятыми. Имя каждого свойства может быть JavaScript-идентификатором или строкой, а значением любого свойства может быть константа или JavaScriptвыражение.

Оказывается, можно и без кавычек.

allanmiln 21.02.2013 16:49

А как выводить value по id, не выводя само id?

allanmiln 21.02.2013 16:50

А, всё - понял.

allanmiln 21.02.2013 17:00

Пишу:
document.getElementById('imgview').style.height = 'o[52]';

Но что-то нефига не передаётся значение.

cyber 21.02.2013 17:09

document.getElementById('imgview').style.height = o["52"];

allanmiln 21.02.2013 17:11

Нет, тогда ещё старое значение height работало,
а теперь вообще никакое.

cyber 21.02.2013 17:13

[
Цитата:

Сообщение от allanmiln
Нет, тогда ещё старое значение height работало,
а теперь вообще никакое.

wtf?:blink:
вы меняете значение height и хотите что бы оно осталось старым?

allanmiln 21.02.2013 17:14

Нет, у меня есть значение по-умолчанию.
А при выборе другого изображения, загружается высота из массива.
:lol:

cyber 21.02.2013 17:20

я не экстрасенс, не могу закрыть глаза увидеть ваш код и дать ответ;)

rgl 21.02.2013 19:43

nostsaber, читайте внимательнее сообщения, на которые отвечаете

ksa 21.02.2013 21:53

Цитата:

Сообщение от allanmiln
Но что-то нефига не передаётся значение.

А так? :D

document.getElementById('imgview').style.height = o[52]+'px';


Часовой пояс GMT +3, время: 11:17.