如何按索引引用对象属性
How to refere to object propeperties by index?
有没有办法在不使用 for in 循环的情况下迭代对象中的属性?
根据 Nicholas C. Zakas 的说法,一个 for in 循环迭代一个对象所需的时间比一个 for 循环长 8 倍,但我找不到一种方法来迭代对象的属性而不将它们的名称更改为 1、2、3 等。 女巫并不理想。
速度是我最关心的问题。
你可以有另一个数组来保存你的密钥。像这样:
var obj = {
'key': 'value',
'some': 'other value'
},
arr = [ 'key', 'some' ];
for ( var i = 0, l = arr.length; i < l; i++ ) {
console.log( obj[ arr[ i ] ] );
}
然而,这很丑陋。在这种情况下,性能永远不会成为您的瓶颈,您应该更喜欢可读性。那里的代码可以这样完成:
Object.keys( obj ).forEach( function( key ) {
console.log( obj[ key ] );
} );
这更干净,更具可读性。(for..in
也可以使用,只是为了举例说明)
你不能。对象没有索引属性。
相关文章:
- 如何从对象的原型方法访问JavaScript对象属性
- 如何将数组项添加到对象属性中
- 设置嵌套对象属性的更好方法
- JavaScript管理具有重复属性名称的对象属性
- 如何使用element.myobj.prop等具有对象属性的元素
- 如何使用(this)访问Angular 2 http rxjs catch函数中的对象属性
- Es6:能够在设置/更新/删除对象属性时调用自定义方法
- 如何在AngularJS工厂中正确声明对象属性
- 如何使用object.assign()从其他对象引用基本对象属性
- 使用XPath样式访问Javascript JSON对象属性
- 将javascript对象(属性+值)合并到一个对象中
- 数组:使对象属性成为数组键
- 无法从JavaScript中的函数调用对象属性
- Google Closure Advanced |无法识别对象属性|动态属性
- Javascript从匿名函数访问外部对象属性
- 从函数更改对象属性
- 如何从字符串变量访问对象属性
- 从嵌套对象属性中获取排除某个值的最高值
- 在Aurelia computeds中,当设置依赖关系时,如何声明对对象属性的依赖关系
- 传递数量不确定的可能嵌套的对象属性