如何根据对象中的位置识别对象。
myObj.b = 2
我可以像myObj[1] to show 2 also
那样去找一些吗?
var myObj = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
f: 6
}
答案 0 :(得分:8)
不,这是不可能的。对象属性没有位置,因为对象没有被排序。
你必须在:
之间做出选择[0..length)
范围内的连续键。一种可能的解决方法是创建一个对象和一个数组,然后使用该对象进行基于密钥的访问,并使用该数组进行基于索引的访问。然后,您可以使用该数组来获取给定值的索引。
答案 1 :(得分:2)
不,myObj [1]会导致未定义。对象文字是哈希映射(键,值存储),它不支持基于索引的访问。这是因为哈希中的项目没有可预测的迭代顺序。
使用对象字段获取索引的味道,你可以做的是:(在jQuery中)
$.each(myObj, function(index, element) {
console.log(index + ' : ' + element)
});
在普通的javascript中,您可以使用for in循环遍历字段,如下所示:
for (key in myObj) {
console.log(key);
console.log(myObj[key]);
}
(注意:您的文字有语法错误)。