Можно ли вписать в объект динамическое свойство?(то которое мы не знаем как называется заранее)
есть объект
const names = [массив строк];
const obj = {
names[0]: names[0],
names[1]: names[1]
}
мне нужно чтобы св-во обьекта называлось как в массиве и чтобы имело значение как в массиве
Ответы (2 шт):
Автор решения: Сергей Мишин
→ Ссылка
Можно сделать например с помощью скобочной нотации:
let arrayOfData = ['test1', 'test2', 'hello'];
let obj = {};
obj[arrayOfData[0]] = arrayOfData[0];
obj[arrayOfData[1]] = arrayOfData[1];
obj[arrayOfData[2]] = arrayOfData[2];
console.log(obj.hello);
или заключить ключ объекта в квадратные скобки (ES6) вот так:
let arrayOfData = ['test1', 'test2', 'hello'];
let obj = {
[arrayOfData[0]]: arrayOfData[0],
[arrayOfData[1]]: arrayOfData[1],
[arrayOfData[2]]: arrayOfData[2],
};
console.log(obj.hello);
Автор решения: Mr. Question
→ Ссылка
Со свойствами объекта в JavaScript можно работать как с элементами словаря:
const names = [массив строк];
const obj = { };
obj[names[0]] = names[0];
obj[names[1]] = names[1];