问题描述
如下图所示,我分别打印了ObjectFood和ObjectFood[1001]
但是输出结果如下图所示
后续尝试了
consile.log(ObjectFood["1001"])
let i = "1001"
console.log(ObjectFood.i)
这两种方法均是undefined,求各位帮忙解惑
如下图所示,我分别打印了ObjectFood和ObjectFood[1001]
但是输出结果如下图所示
后续尝试了
consile.log(ObjectFood["1001"])
let i = "1001"
console.log(ObjectFood.i)
这两种方法均是undefined,求各位帮忙解惑
送分题,
consile.log(ObjectFood["1001"])
let i = "1001"
// 可以通过这个形式变量访问 key
// obj.key = obj['key']
// 也就是说你原来访问的是 Obj['i']
console.log(ObjectFood[i])
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
你应该使用 ObjectFood[i] 访问值,而不是 ObjectFood.i。
ObjectFood[i] 等价于 ObjectFood["1001"]。
比如一个对象 obj = { a: '1' },你可以使用
obj.a
或者 obj['a'] 去访问。let i = "1001"
ObjectFood = { 1001: 'xxxx' },或者写成: { [i]: 'xxxx' }
可以参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Object_initializer#%E8%AE%A1%E7%AE%97%E5%B1%9E%E6%80%A7%E5%90%8D