为什么未定义的被记录?
var arr = [{"eat" : 0}, {"sleep" : 1}, {"code" : 2}];
var key = "eat";
console.log(arr[key]);
我希望在日志中看到
0
。http://jsfiddle.net/jFFW5/
最佳答案
首先,我在这里看不到任何JSON。我看到一个普通的JavaScript数组对象-JSON是一种数据序列化格式。
其次,您可能正在寻找arr[0]
,它将返回{"eat": 0}
。
数组用于存储顺序数据。
或者,可以将它们存储在符合您实际需要的对象中:
var arr = {"eat" : 0,"sleep" : 1,"code" : 2};
var key = "eat";
console.log(arr[key]);
注意:在更现代的实现中-您可能应该为此使用
Map
而不是数组。或使用Object.create(null)