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...