Lafafm
@Lafafm
Development lead, Full stack generalist

Как вставить переменную в первый элемент ассоциативного массива?

Здравствуйте!
Я с трудом понимаю почему возникает эта проблема, и уж тем более как ее решить, но суть в том, что когда я пытаюсь вставить в первый элемент массива переменную:
var id = 'test', num = 141241, num2 = 12424
var arr = {id : num, 'str' : num2}


Получаеться вот что:
Object {id: 141241, str: 12424}

Почему js видит как строку переменную id? И как ее все таки вставить туда?
Заранее спасибо за ответы. Ссылка на jsfiddle (смотреть консоль)
  • Вопрос задан
  • 2353 просмотра
Решения вопроса 2
Satanpit
@Satanpit
Front-end developer
На сколько я понял Вам нужно сделать значение переменной id ключом arr, если да, то так:
var id = 'test', num = 141241, num2 = 12424;
var arr = {str: num};
arr[id] = num2;
Ответ написан
Комментировать
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Всё хранится по ссылке, и при использовании переменной вместо абстрактного имени подставляется то, что по этой ссылке и находится.
Объектный литерал — всего лишь выражение, которое используется для передачи данных в конструктор Object. При этом все переменные заменяются тем, что реально хранится по этим ссылкам.

var id = 'test',
	num = 141241,
	num2 = 12424,
	arr = {
		str: num2
	};

arr[id] = num;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
DeLaVega
@DeLaVega
Верстаю, фронтэндю =)
Это не массив, а объект. Объекты состоят из ключей и значений.
И на сколько я помню, ключи таким образом не ставятся.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы