如何使用动态属性名称创建对象

安娜

因此,我想要一个具有动态属性名称的对象,该对象是从数组中检索的。到目前为止,这是我尝试过的:

var fruits = {};

var props = ['orange', 'apple', 'banana'];

for (var i = 0; i < props.length; i++) {
  fruits.props[i] = 'Juice';
}

我的对象应如下所示:

fruits { orange: 'Juice', apple: 'Juice', banana: 'Juice' };

但是我得到了错误:

未捕获的TypeError:无法设置未定义(...)的属性'0'

我究竟做错了什么?

编辑:

不是因为问题标题相似,而是问题本身也必须如此。这个问题与695050不同,因为我没有从DOM检索我的属性名称。我正在尝试循环一个数组,当使用方括号表示法时,它容易引起混乱。

普拉纳夫·C·巴兰(Pranav C Balan)

在您的代码中,fruits.props[i] = 'Juice';将尝试在该props属性所在的位置设置属性的第0个索引值,undefined并导致错误。

使用括号表示法通过字符串分配对象属性。

var fruits = {};

var props = ['orange', 'apple', 'banana'];

for (var i = 0; i < props.length; i++) {
  fruits[props[i]] = 'Juice';
  //----^^^^^^^^^^-----
}

console.log(fruits);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用动态属性名称为JSON对象

Javascript:如何使用数组给定的对象名称动态创建嵌套对象

使用变量的属性名称创建对象

如何动态编写PHP对象属性名称?

jQuery:如何创建具有动态名称的普通对象?

如何动态替换javascript对象属性名称

如何使用FastMember获取动态对象的属性?

动态创建对象实例名称

如何从对象内部获取属性名称以创建新的属性名称?

使用CsvHelper时如何从C#动态对象获取属性名称和值?

如何通过对象名称动态检索对象属性?

如何使动态对象名称分配给类?/如何使用对象名称不同的Tkinter创建多个窗口

如何使用html元素的属性动态创建json对象

如何在NodeJ中创建动态对象名称

Javascript对象(动态属性名称)

如何使用反射在动态对象上创建属性

动态合并对象-对象属性名称问题

如何使用Javascript创建动态对象?

如何基于枚举名称动态创建对象?不带开关

为对象属性创建动态名称

如何使用生成的名称创建对象?

如何使用 QDataWidgetMapper 恢复对象的动态属性?

如何动态创建对象

如何使用键值对创建动态对象

如何使用 JavaScript 动态创建对象?

如何使用 for 循环动态创建对象属性并分配值

如何按动态属性名称对对象数组进行排序?

动态创建对象的属性

如何从 dict 中创建对象,其中键是名称对象,值是属性?使用循环