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)

фдуч 11.01.2018 11:41

Как передать в массив перемеенную как ключ массива?
 
Подскажите пожалуйста как подставить в массив значение переменной как ключ массива

есть переменная
var type = value1
есть массив
var custom = {
   key: {
	  label: test
	}
};

как type подставить на место key?

Aetae 11.01.2018 12:00

custom[type].label

фдуч 11.01.2018 12:19

мне нужно чтобы вот так было, такая конструкция будет работать?
var custom = {
    custom[type]: {
      label: test
    }
};

пробую, что-то не работает...

Dilettante_Pro 11.01.2018 13:12

К сожалению, здесь не запускается...
var custom = {
   key: {
	  label: "test"
	}
};
var  type = 33;

function getVal(val) {
    for(var name in window) {
        if(window[name]==val) {
            return name;
        }
    }
}

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

ksa 11.01.2018 14:26

Цитата:

Сообщение от фдуч (Сообщение 474766)
есть переменная
var type = value1

есть массив
var custom = {
   key: {
	  label: test
	}
};

как type подставить на место key?

Например так...

var custom = {};
var type = 'value1';
custom[type]={
	label: 'test'
}
alert(JSON.stringify(custom));

ksa 11.01.2018 14:26

Цитата:

Сообщение от фдуч
есть массив
var custom = {...};

Это не массив... :no:

ksa 11.01.2018 14:28

Цитата:

Сообщение от фдуч (Сообщение 474773)
такая конструкция будет работать?
var custom = {
    custom[type]: {
      label: test
    }
};

пробую, что-то не работает...

Это просто галиматья. Она разумеется не станет работать... :no:

Dilettante_Pro 11.01.2018 15:35

ksa,
{"value1":{"label":"test"}} - это не совсем тот результат,
просили {"type":{"label":"test"}}

где type - не просто так, а имя переменной.

ksa 11.01.2018 15:37

Цитата:

Сообщение от Dilettante_Pro
просили {"type":{"label":"test"}}

Что он "просил", я так и не понял... :cray:

ksa 11.01.2018 15:40

Цитата:

Сообщение от Dilettante_Pro
просили {"type":{"label":"test"}}

Дык!

var custom = {};
var type = 'type';
custom[type]={
	label: 'test'
}
alert(JSON.stringify(custom));


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