當前位置:
首頁 > 知識 > 5個很實用的數組迭代方法

5個很實用的數組迭代方法

學習數組迭代方法

every() 迭代數組每一項,每項都符合條件的才返回true,反之false

some() 迭代數組每一項,只要有一項符合條件就返回true,如果全部不符合才返回false

map() 迭代數組每一項,可以給特定條件會返回重新組成新的數組

filter() 迭代數組每一項,可以給特定的條件進行篩選返回新的數組

forEach() 迭代數組每一項,沒有返回值

every()

every() 方法,對數組中的每一項進行迭代,如果每一項都符合條件才可以返回true,反之返回false。

情景: 有五個孩子,如果這個五個孩子都大於或等於18歲,才能進入此網站

代碼示例:

let children = [

,

,

,

]

// // 數組中需要每一個項都符合條件才返回true,反之返回false

let isAdults = children.every(child = child.age = 18)

console.log(isAdults); // false 因為Peter的age小於18歲

// 手動把Peter的age改為20,再進行測試

children[1].age = 20;

let isAdults2 = children.every(child = child.age = 18)

console.log(isAdults2); // true 所有的孩子都已經滿足大於或者等於18歲了,所以返回true

some()

some() 方法,對數組的每一項迭代,只有一個選項符合條件的,就可以返回true了,只有全部不符合條件才返回false。

情景: 如果有4個人,其中只有一個小妹妹就可以通過了

代碼示例:

let people = [

,

,

,

]

// 數組中只需要符合一個條件就返回true,反之返回false

let hasGirl = people.some(val = val.sex === "girl");

console.log(hasGirl) // true

map()

map() 方法,對數組的每一項迭代,給特定的條件返回重新組成數組。

情景: 有五個員工,突然當月老闆給每個人發獎金1w,求每個人的當月發的工資為多少

代碼示例:

let employees = [

,

,

,

]

// 對每個員工進行加薪10000元獎金,返回新數組

let employeesWage = employees.map(item = {

return {

name: item.name,

// 每個人加1000元

wage: item.wage 10000

}

});

console.log(employeesWage);

/**

* 返回了新的員工工資數組

* [

* { name: "Bob", wage: 15000 },

* { name: "Peter", wage: 20000 },

* { name: "Lynn", wage: 25000 },

* { name: "Jack", wage: 30000 }

* ]

**/

filter()

filter() 方法,對數組的每一項迭代,根據給出的條件進行篩選且返回新數組

情景: 有五個員工,突然當月老闆給每個人發獎金1w,求每個人的當月發的工資為多少

代碼示例:

let students = [

,

,

,

]

// 獲得成績大於或等於90的學生,返回新數組

let awardStudents = students.filter(val = val.grade = 90);

console.log(awardStudents)

/**

* 輸出新數組:

* [

* { name: "Bob", grade: 100 },

* { name: "Jack", grade: 95 }

* ]

*/

forEach()

forEach() 方法,對數組的每一項迭代,沒有返回值

情景: 我想看下班上的每一位同學的成績為多少,沒有返回值

代碼示例:

// 讀取每個人的成績,沒有返回值

students.forEach(item = {

console.log(`$同學的成績為$`);

/**

* 輸出:

* Bob同學的成績為100

* Peter同學的成績為75

* Lynn同學的成績為80

* Jack同學的成績為95

*/

})

// 獲取獲得獎勵同學,沒有返回值

awardStudents.forEach(item2 = {

console.log(`獲得獎勵的同學有$`)

/* 輸出:

* 獲得獎勵的同學有Bob

* 獲得獎勵的同學有Jack

*/

})

思考與總結

往往最基礎的知識能最簡單、快捷地解決問題,這五個迭代方法在平時非常實用,要記住這五個數組迭代方法各自的優點,在需要的情景下,能馬上想到用哪個方法最簡單,最快捷地實現需求。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 千鋒JAVA開發學院 的精彩文章:

TAG:千鋒JAVA開發學院 |