js常用的迴圈遍歷方法

2021-10-03 11:12:13 字數 2744 閱讀 7697

for in 迴圈

(for of 迴圈:遍歷所有資料結構的統一的方法)

for in 迴圈主要用於遍歷普通物件,i 代表物件的 key 值,obj[i] 代表對應的 value

但是遍歷陣列時候,要注意,因為 i 輸出為字串形式,而不是陣列需要的數字下標,這意味著在某些情況下,會發生字串運算,導致資料錯誤,比如:『52』+0 = 『520』 而不是我們需要的 52。

另外 for in 迴圈的時候,不僅遍歷自身的屬性,還會找到 prototype 上去,所以最好在迴圈體內加乙個判斷,就用 obj[i].hasownproperty(i),這樣就避免遍歷出太多不需要的屬性。

let obj = 

for(let i in obj)

// name zhou

// age **

foreach 迴圈

foreach迴圈,迴圈陣列中每乙個元素並採取操作, 沒有返回值, 可以不用知道陣列長度,他有三個引數,只有第乙個是必需的,代表當前下標下的 value。

**foreach 迴圈在所有元素呼叫完畢之前是不能停止,**但可以嘗試 try catch 語句,就是在要強制退出的時候,丟擲乙個 error 給 catch 捕捉到,然後在 catch 裡面 return,這樣就能中止迴圈了,如果你經常用這個方法,最好自定義乙個這樣的 foreach 函式在你的庫里。

let arr = [1,2,3];

arr.foreach(function(i,index))

// 1 0

// 2 1

// 3 2

map()方法

map() 方法返回乙個新陣列,陣列中的元素為原始陣列元素呼叫函式處理後的值。

map 和 foreach 方法都是只能用來遍歷陣列,不能用來遍歷普通物件。

和foreach區別:foreach()沒有返回值,map需要返回值,要是沒有return預設返回undefined。

let arr = [1,2,3];

// es5寫法

var double = ;

for(var i = 0; i < arr .length; i++)

console.log(double);//[2,4,6]

// es6 map方法

var doubled = arr.map(function(num))

console.log(doubled);//[2,4,6]

// 物件陣列的應用

var some = [,];

var get = some.map((one)=>);

console.log(get); // [18,20]

array reduce()方法

1、reduce() 方法接收乙個函式作為累加器,陣列中的每個值(從左到右)開始縮減,最終計算為乙個值。

// es5

let arr = [1,2,3];

let ad=0;

for(var i=0; i2、reduce() 方法抽離物件陣列的屬性到另乙個陣列

var men = [,,];

var menarr = men.reduce((namearr,men)=>,); // 初始化namearr 為陣列

console.log(menarr); // ["tom", "mary", "jey"]

filter() 方法

陣列物件的內建方法,它會返回通過過濾的元素,不改變原來的陣列。

let arr = [1,2,3];

let tt = arr.filter(function(i))

// [2,3]

// 物件陣列的應用

var men = [

,,,];

var group = men.filter((one)=>);

console.log(group); // [,]

array some() 方法

some() 方法用於檢測陣列中的元素(只要有乙個滿足條件就是true)是否滿足指定條件(函式提供),返回 boolean 值,不改變原陣列。有一真即真

let arr = [1,2,3];

let tt = arr.some(function(i));

console.log(tt);

// true

array every() 方法

同some() 方法用於檢測陣列中的元素(全部滿足條件才是true)是否滿足指定條件(函式提供),返回 boolean 值,不改變原陣列。有一假全假

let arr = [1,2,3];

let tt = arr.every(function(i));

console.log(tt);

// false

js 迴圈 遍歷方法 跳出迴圈

for有三個表示式 宣告迴圈變數 判斷迴圈條件 更新迴圈變數 三個表示式之間,用 分割,for迴圈三個表示式都可以省略,但是兩個 缺一 不可。for迴圈的執行特點 先判斷再執行,與while相同 for迴圈三個表示式都可以有多部分組成,第二部分多個判斷條件用 連線,第一三部分用逗號分割 for va...

JS 陣列迴圈遍歷方法的對比

以下介紹比較簡單,最好把 複製到控制台敲一遍 var arr 1,2,4,6 for var i 0,len arr.length i len i var arr 1,5,8,9 arr.foreach function item 一般會使用for in來遍歷物件的屬性的,不過屬性需要 enumer...

js中常用到的12中迴圈遍歷的方法

1 for 迴圈 let arr 1,2,3 for let i 0 iconsole.log i,arr i 0 1 1 2 2 3 for 迴圈是 js 中最常用的乙個迴圈工具,經常用於陣列的迴圈遍歷。2 for in 迴圈 vue中常用到 let obj for let iinobj name...