摘要:有如果要遍歷一個(gè)數(shù)組,我們有多個(gè)方式可以進(jìn)行。循環(huán)循環(huán)的問(wèn)題在于遍歷的時(shí)候獲得的是指針,要獲取元素需要的方式取到。另外迭代的是對(duì)象所有的屬性或函數(shù)都會(huì)被迭代。選用可以根據(jù)自己的實(shí)際需求。
javascript ES6有如果要遍歷一個(gè)數(shù)組,我們有多個(gè)方式可以進(jìn)行。
下面我們來(lái)分析一下各自的利弊。
const langs = ["java", "php", "c++", "python"] for (let i = 0; i < langs.length; i++) { console.log(langs[i]) }
for循環(huán)的問(wèn)題在于遍歷的時(shí)候獲得的是指針,要獲取元素需要 langs[i]的方式取到。
forEachlangs.forEach(function (lang, index, arr) { console.log(lang) console.log(index) console.log(arr) }, this); lang.forEach((lang, index) => { console.log(lang) console.log(index) })
forEach循環(huán)我們可以直接取到元素,同時(shí)也可以取到index值。
但是forEach也有一些局限,比如我們不能在循環(huán)內(nèi)break或者continue.
for-in is for inspecting object properties. It works on any object, and it always loops over the names of the object"s enumerable properties.
const langs = ["java", "php", "c++", "python"] langs.description = "This is a language set" langs.func = ()=>(2) for (var key in langs) { console.log(langs[key]) }
for...in 迭代獲取到的也是key而不是數(shù)值。另外for...in迭代的是對(duì)象所有的屬性或函數(shù)都會(huì)被迭代。
選用for...in可以根據(jù)自己的實(shí)際需求。
for-of is for looping over data. It only works on iterable objects; that is, objects with a suitable [iterator] method.
const langs = ["java", "php", "c++", "python"] for (let lang of langs) { console.log(lang) }
for...of支持break continue
如何在for...of循環(huán)中獲取到index值呢?
for (let [index, lang] of langs.entries()) { console.log(`${index} - ${lang}`) }
for...of還有其他的用處
for...of用于arguments
for...of用于字符串遍歷
for...of用于DOM節(jié)點(diǎn)的遍歷
文章為學(xué)習(xí)筆記,內(nèi)容參考codecasts的視頻課程https://www.codecasts.com/ser...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/88632.html
摘要:常被用來(lái)檢查對(duì)象中是否存在某個(gè)鍵名,集合常被用來(lái)獲取已存的信息。返回一個(gè)布爾值,表示該值在中存在與否。集合存放對(duì)象的弱引用,當(dāng)該對(duì)象的其他強(qiáng)引用被清除時(shí),集合中的弱引用也會(huì)自動(dòng)被垃圾回收機(jī)制回收,追蹤成組的對(duì)象是該集合最好的使用方式。 Map和Set都叫做集合,但是他們也有所不同。Set常被用來(lái)檢查對(duì)象中是否存在某個(gè)鍵名,Map集合常被用來(lái)獲取已存的信息。 Set Set是有序列表,含...
摘要:需要注意的是字符串有三個(gè)截取方法和和方法用于操作尾部元素,和方法用于操作頭部元素。語(yǔ)法它用于刪除并添加元素,也可以只刪除不添加。對(duì)象操作符可以判斷對(duì)象是否含有某個(gè)屬性,但是無(wú)法判斷這個(gè)屬性是它自己的,還是繼承來(lái)的。 1.關(guān)于ECMAScript ECMA-262經(jīng)歷了多個(gè)版本的更新迭代,需要了解一下五個(gè)版本: ES5:2009年12月 ES5.1:2011年6月 ES6/ECM...
摘要:文章內(nèi)容來(lái)源廖雪峰快速入門(mén)賦值注釋數(shù)據(jù)類(lèi)型不區(qū)分整數(shù)和浮點(diǎn)數(shù),統(tǒng)一用表示。條件判斷使用來(lái)進(jìn)行條件判斷。最新的規(guī)范引入了新的數(shù)據(jù)類(lèi)型,是一組鍵值對(duì)的結(jié)構(gòu),具有極快的查找速度。一個(gè)數(shù)組實(shí)際上也是一個(gè)對(duì)象,它的每個(gè)元素的索引被視為一個(gè)屬性。 文章內(nèi)容來(lái)源:廖雪峰JavaScript-快速入門(mén) 賦值 var x = 1; 注釋 // comment /* comment */ 數(shù)據(jù)類(lèi)型 Num...
摘要:中可以實(shí)現(xiàn)遍歷的數(shù)據(jù)類(lèi)型主要是對(duì)象,其中包括普通對(duì)象與數(shù)組。遍歷器是一種接口,為各種不同的數(shù)據(jù)結(jié)構(gòu)提供統(tǒng)一的訪(fǎng)問(wèn)機(jī)制。實(shí)例五遍歷器對(duì)象實(shí)例五是的遍歷過(guò)程,通過(guò)手動(dòng)調(diào)用其對(duì)象的方法實(shí)現(xiàn)信息獲取。為每個(gè)數(shù)組元素執(zhí)行函數(shù)。 前言 ??將依據(jù)自身痛點(diǎn)學(xué)習(xí),計(jì)劃對(duì)原生JavaScript寫(xiě)一個(gè)系統(tǒng),本文為第一篇,感興趣的同學(xué)可以關(guān)注個(gè)人公眾號(hào):ZeroToOneMe,或者github博客,將持續(xù)...
閱讀 2156·2021-11-24 09:39
閱讀 1246·2021-09-10 11:25
閱讀 1924·2021-09-08 10:42
閱讀 3876·2021-09-06 15:00
閱讀 2582·2019-08-30 15:54
閱讀 3190·2019-08-29 17:08
閱讀 3368·2019-08-29 11:26
閱讀 2907·2019-08-28 18:27