Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как передать в массив перемеенную как ключ массива? (https://javascript.ru/forum/misc/72137-kak-peredat-v-massiv-peremeennuyu-kak-klyuch-massiva.html)

Aetae 11.01.2018 15:51

Ну и пафосный es6:
var type = 'type';
var custom = {
    [type]:{
        label: 'test'
    }
};
alert(JSON.stringify(custom));

Dilettante_Pro 11.01.2018 15:53

ksa,
Ну в этом случае это только имитация результата по значению переменной, а не по имени - с таким же успехом можно было бы и просто написать
var custom = {
   key: {
	  label: "test"
	}
};

custom = {
   type: {
	  label: "test"
	}
};
alert(JSON.stringify(custom));

ksa 11.01.2018 16:17

Цитата:

Сообщение от Dilettante_Pro
в этом случае это только имитация результата

Так по "объяснению" ТСа вообще не понятно, что у него в "дано" и, что в итоге "нужно".

Вариантов ему показали валом! :D

Dilettante_Pro 11.01.2018 16:21

Конечно, это какие-то непонятные танцы с бубном с невнятной целью, так что вся моя предыдущая критика весьма сомнительна:-E
Возможно, наиболее корректный - в данной ситуации - вариант замены ключа с сохранением значения
var custom = {
   key: {
	  label: "test"
	}
};

custom = JSON.parse('{"type":' + JSON.stringify(custom.key) + '}');

alert(JSON.stringify(custom));

Aetae 11.01.2018 20:15

Да, кажись дошло, что он хотел:) :
var type = "value1";
var custom = {
  key: {
    label: "test"
  }
};
custom[type] = custom.key;
delete custom.key;

alert(JSON.stringify(custom,0,'\t'));

рони 11.01.2018 21:21

Aetae,
:victory:


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