我正在尝试使用动态名称访问对象的属性。这可能吗?
const something = { bar: "Foobar!" };
const foo = 'bar';
something.foo; // The idea is to access something.bar, getting "Foobar!"
使用变量动态访问对象属性
我正在尝试使用动态名称访问对象的属性。这可能吗?
const something = { bar: "Foobar!" };
const foo = 'bar';
something.foo; // The idea is to access something.bar, getting "Foobar!"
第689篇《使用变量动态访问对象属性》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点
在javascript中,我们可以通过以下方式访问:
foo.bar
foo[someVar]
或foo["string"]
但是只有第二种情况允许动态访问属性:
var foo = { pName1 : 1, pName2 : [1, {foo : bar }, 3] , ...}
var name = "pName"
var num = 1;
foo[name + num]; // 1
// --
var a = 2;
var b = 1;
var c = "foo";
foo[name + a][b][c]; // bar
相似问题
问题类别
以下是一个ES6示例,说明如何使用通过串联两个字符串动态生成的属性名称来访问对象的属性。
这称为计算属性名称