繁体   English   中英

通过放置在对象中识别对象属性

[英]identify object property by placement in object

如何通过对象在对象中的位置来识别对象。

myObj.b = 2 

我也可以像myObj[1] to show 2 also吗?

var myObj = {
    a: 1,
    b: 2,
    c: 3,
    d: 4,
    e: 5,
    f: 6
}

不,这是不可能的。 对象属性没有位置,因为对象没有顺序。

您必须选择:

  • 数组:顺序为[0..length)范围内的连续键。
  • 对象:任意键,没有保证的顺序。

可能的解决方法是同时创建一个对象和一个数组,然后将该对象用于基于键的访问,而将该数组用于基于索引的访问。 然后,您可以使用数组获取给定值的索引。

不,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]);
}

(注意:您的文字有语法错误)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM