Object.keys(obj).forEach(item => {
console.log(obj[item])
})
这样是否相当于遍历了两次,是否会对性能产生影响?
Object.keys(obj).forEach(item => {
console.log(obj[item])
})
这样是否相当于遍历了两次,是否会对性能产生影响?
是遍历了两次。但是不明白你这段代码的意图。时间复杂度是O(n)Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组
forEach() 方法对数组的每个元素执行一次提供的函数。
你的这段代码
Object.keys(obj).forEach(item => {
console.log(obj[item])
})
Object.keys(obj)遍历返回obj的key
数组,但是forEach
输出的又是obj
的value
值
或许你是希望遍历输出对象的key值
var obj = {
'0': 'a',
'1': 'b',
'2': 'c'
}
console.log(...(Object.keys(obj)))
// 0 1 2
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
根据 polyfill ,是得遍历两遍。不过如果量级很小,调用次数也不频繁的话,性能上没多大影响