Javascript中的遍歷

對象遍歷

方法 是否可遍歷不可枚舉屬性 是否可遍歷Symbol屬性 是否可原型鏈屬性
Object.keys --- --- ---
for...in --- --- true
Object.getOwnPropertyNames true --- ---
Object.prototype.hasOwnProperty true true ---
Object.assign --- true ---
JSON.stringify --- --- ---
Reflect.ownKeys true true ---
Object.getOwnPropertySymbols --- true ---

數(shù)組遍歷中各個方法的特點(diǎn)

  1. Array.prototype.forEach:
    1. 無法跳出循環(huán)
  2. for...in:
    1. 數(shù)組的鍵名是數(shù)字,但是for...in循環(huán)是以字符串作為鍵名“0”、“1”、“2”等等。
    2. for...in循環(huán)不僅遍歷數(shù)字鍵名,還會遍歷手動添加的其他鍵,甚至包括原型鏈上的鍵。
  3. for...of:
    1. 有著同for...in一樣的簡潔語法,但是沒有for...in那些缺點(diǎn)。
    2. 不同于forEach方法,它可以與break、continue和return配合使用。
    3. 提供了遍歷所有數(shù)據(jù)結(jié)構(gòu)的統(tǒng)一操作接口。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容