Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Числовой массив (https://javascript.ru/forum/misc/52521-chislovojj-massiv.html)

RRRinat 23.12.2014 03:44

Числовой массив
 
Добрый день!
Нужно передать id-шник товара в виде ключа.

Передаю данные, допустим:
arr[1001] = 1;

Однако, моя идея интерпретируется по своему, и скорее это правильно.
В итоге получаю 1000 пустых значений и одно значение равное 1.

А мне надо чтобы создалось 1 значение с ключом 1001.

Зачем мне надо так?

На стороне сервера к большому сожалению id - это ключ.
И по этому ключу он выполняет определенные действия, например удаляет и добавляет что-то.

Т.е предпологалось, что будет передаваться так:
<input type = "text" name = "test[1001]" value = "1">

А на стороне сервера сооответвенно разгребает и по ключу выполняет определенные действия, но тут я со своим javascript'ом...

danik.js 23.12.2014 03:49

Я не понял - это про массив в js вопрос или про интерпретацию параметра с именем test[1001] на стороне сервера? Если второе - уточни язык, ибо не везде такие параметры как массив разбираются.

ruslan_mart 23.12.2014 07:36

А не проще arr.push(1001)?

<input type="hidden" name="test[]" value="1001">

RRRinat 23.12.2014 13:34

Мне нужно, чтобы 1001 - было ключом, а не значением.

ruslan_mart 23.12.2014 14:06

RRRinat, тогда на сервере чисти массив от пустых значений. Или делай проверку перед каждым использованием данных из массива.

RRRinat 23.12.2014 14:17

Да это все я могу, я просто особо то на сервер залазять не хотел.
Тем более, что id-шник может быть не 1001, а допустим 100001. Тогда сервер, при обработке передаваемых данных просто ляжет, например.

Aetae 23.12.2014 15:23

Передавай отдельно, а не в массиве, какие проблемы то, ё-моё.

nerv_ 23.12.2014 15:24

Цитата:

Сообщение от RRRinat
arr[1001] = 1;

var object = {};
object['1001'] = 1;

RRRinat 23.12.2014 17:06

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

А вот, за правильнй ответ спасибо, nerv_!

var arr = {};
    arr[1001] = 1;
    console.log(arr);


выдает верное и нужное мне значение!
В то время как


var arr = [];
    arr[1001] = 1;
    console.log(arr);


Плодит огромный массив.


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