首页 > 解决方案 > 如何将变量的值用作对象的属性?

问题描述

在下面的示例中,对象似乎不了解哪个类别是变量,因此它用作字符串:

var categoria = "Carros";
var obj       = {
    categorias: {}
};
obj.categorias = {...obj.categorias, categoria: {}}
console.log(obj.categorias)

我希望将类别属性命名为“汽车”而不是类别。我尝试了下面的方式,但它返回一个模板字符串错误:

var categoria = "Carros";
var obj       = {
    categorias: {}
};
obj.categorias = {...obj.categorias, `${categoria}`: {}}

标签: javascriptjson

解决方案


使用方括号!

const categoria = "Carros";

const obj = {
  categorias: {}
};

obj.categorias = { ...obj.categorias, [categoria]: {} };

console.log(obj.categorias);


推荐阅读