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