js中的遍歷

2022-07-18 23:00:45 字數 2539 閱讀 1257

1.for迴圈,需要陣列的長度

我們定義乙個陣列

var arr = ['a','b',3,4];

for(var i=0;i)
for in(常用語遍歷物件)

//for in也可以遍歷陣列

for(var i in

arr)

使用for in 也可以遍歷陣列,但是會存在以下問題:

1.index索引為字串型數字,不能直接進行幾何運算

2.遍歷順序有可能不是按照實際陣列的內部順序

3.使用for in會遍歷陣列所有的可列舉屬性,包括原型

var arr = [,,]

arr.name=112

for(var i in

arr)

輸出結果為:

所以for in更適合遍歷物件。

for of則不會迴圈出上例中的name

var arr = [,,]

arr.name=112

for(var i of arr)

輸出結果為:

for in遍歷的是陣列的索引(即鍵名),而for of遍歷的是陣列元素值。

2.foreach迴圈,不必知道陣列長度,沒有返回值。(es5)

1 arr.foreach(function

(item,index,arr))

jquery中有$.each()方法,前兩個引數正好相反

注:使用foreach遍歷陣列的話,使用break不能中斷迴圈,使用return也不能返回到外層函式 

3. map函式,遍歷陣列每個元素,並**操作,需要返回值,返回值組成新的陣列,原陣列不變(es6)

var arr = [1,2,3,4];

var mymap = arr.map(function

(item,index,arr))

console.log(mymap) //逐個值求平方,輸出新陣列[1, 4, 9, 16]

4. filter函式, 過濾通過條件的元素組成乙個新陣列, 原陣列不變(es6)

var arr = [1,2,'3','a'];

var numarr = arr.filter(function

(i))

console.log(numarr) //輸出新陣列[1,2]

map和filter引數相同

var newarray = arr.map(function callback(currentvalue, index, array))

引數 callback:用來生成新陣列用的函式。

callback的引數:

currentvalue:當然正在處理的元素

index:正在處理元素的索引

array:呼叫map方法的陣列(就是.map()前面的也就是arr)

5. some函式,遍歷陣列中是否有符合條件的元素,返回boolean值,只要有乙個為真返回真(es5)

var arr = [1,2,'3','a'];

var mysome = arr.some(function

(i))

console.log(mysome) //true

6. every函式, 遍歷陣列中是否每個元素都符合條件, 返回boolean值,全部為真返回真(es5)

var arr = [1,2,'3','a'];

var myevery = arr.every(function

(i))

console.log(myevery) //false

7. reduce/reduceright函式,對資料遍歷並進行操作(es5)

var myarr = [1,3,5,7,9]

var initialvalue = 10 //可選。傳遞給函式的初始值

var plus = myarr.reduce(function(total, num,index,arr),10)

console.log('plus:',plus) //計算10+1+3+5+7+9

輸出結果:

reduceright方法功能和reduce一樣,不過是從右邊開始遍歷。

(個人總結,如有錯誤,歡迎指正)

js中幾種遍歷

抽空整理一下js中的遍歷,之前一直只用其中的for迴圈 filter foreach等少數幾種 這次把整個遍歷給梳理一遍 另外我們常用來中斷迴圈的語句 a continue 中斷本次迴圈 b return和break直接跳出迴圈。1.普通的for迴圈 let arr 1,2,3 for let i ...

總結js中的迴圈遍歷

定義乙個陣列和物件 const arr a b c d e f const obj 經常用來遍歷陣列元素 遍歷值為陣列元素索引for let i 0 len arr.length,i len i 用來遍歷陣列元素 第乙個引數為陣列元素,第二個引數為陣列元素索引,第三個引數為陣列本身 可選 沒有返回值...

js中物件的遍歷 總結

let obj 1 for in 迴圈for let key in obj for in迴圈遍歷物件自身的和繼承的可列舉屬性,所以我們使用for in迴圈時要使用hasownproperty方法對屬性進行判斷,只遍歷物件自身屬性。所以推薦第二種for in迴圈。for let key in obj ...