Javascript 如何创建具有动态特性名称的对象
所以,我想要一个具有动态属性名的对象,从数组中检索。这就是我迄今为止所尝试的:Javascript 如何创建具有动态特性名称的对象,javascript,Javascript,所以,我想要一个具有动态属性名的对象,从数组中检索。这就是我迄今为止所尝试的: var fruits = {}; var props = ['orange', 'apple', 'banana']; for (var i = 0; i < props.length; i++) { fruits.props[i] = 'Juice'; } 但我得到了一个错误: 未捕获的TypeError:无法设置未定义的属性“0” 我做错了什么 编辑: 不是因为问题的标题相似,问题本身也必须相似。
var fruits = {};
var props = ['orange', 'apple', 'banana'];
for (var i = 0; i < props.length; i++) {
fruits.props[i] = 'Juice';
}
但我得到了一个错误:
未捕获的TypeError:无法设置未定义的属性“0”
我做错了什么
编辑:
不是因为问题的标题相似,问题本身也必须相似。这个问题与其他问题不同,因为我没有从DOM中检索属性名。我试图循环一个数组,当使用括号表示法时,它往往会引起混乱。在您的代码中;将尝试设置props属性的第0个索引值,其中属性未定义并导致错误
用于使用字符串指定对象属性
var水果={};
var props=['橙色','苹果','香蕉'];
对于var i=0;i因为使用点表示法,您不能使用动态属性名称,但使用括号表示法时,属性应为字符串,该字符串可以是文字或动态获取的值。如果需要括号中的键,请阅读更多信息 属性访问器通过使用点符号或括号符号提供对对象属性的访问 语法 var水果={}; var props=['橙色','苹果','香蕉']; 对于var i=0;i
fruits { orange: 'Juice', apple: 'Juice', banana: 'Juice' };
object.property
object["property"]