js 对象实现for of 遍历 (defineProperty自定义功能)


1.对象
let myObject = {
a: 2,
b: 3
}
2.定制遍历规则
Object.defineProperty(myObject, Symbol.iterator, {
enumerable: false,
writable: false,
configurable: true,
value: function () {
let o = this
let idx = 0
let ks = Object.keys(o)
return {
next: function () {
return {
value: o[ks[idx++]],
done: (idx > ks.length)
}
}
}
}
})

3.遍历对象
for (let obj of myObject) {
console.log(obj)
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM