JavaScript对象的遍历
导读
最新面试被问到了如何去遍历一个Object
,以下就简单记录一下几种方法和不同吧。
for…in…
使用for...in...
可以遍历一个对象,其可以迭代所有的字符串属性,包括从原型链继承来的。MDN
1 | const object = { a: 1, b: 2, c: 3 }; |
但如果只想用自己的属性,可以通过Object.prototype.hasOwnProperty
判断
1 | const originObject = { a: 1, b: 2, c: 3 } |
Object.keys
Object.keys()
静态方法返回一个由给定对象自身的可枚举的字符串键属性名组成的数组。
1 | const object = { a: 1, b: 2, c: 3 }; |
总结
如果需要查找包含原型继承的属性,用for...in..
,否则用Object.keys()
。因为for...in...
需要查找原型链,其效率会比较慢,不如Object.keys()
。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 程序员零塔的小破站!
评论