日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

forEach、map、filter、some、every、find之间的区别

發布時間:2025/3/14 编程问答 87 豆豆
生活随笔 收集整理的這篇文章主要介紹了 forEach、map、filter、some、every、find之间的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:

從一開始學了javascript中的for循環遍歷方法,到后來了解到forEach、vue中的v-for、map等方法,經常會搞不清楚其中的區別,今天就來粗略的解釋一下,

for循環我就不說了,想必大家也常用到。

forEach:

語法:

array.forEach(callback(currentValue, index, array){

????//do something }) 

callback:?為數組中每個元素執行的函數,該函數接收三個參數,

參數一:當前數組中元素;參數二:索引; 參數三:當前數組。

map:

語法:

var?new_array = arr.map(callback[, thisArg]) 

forEach和map循環的區別:forEach沒有返回值,即使你給出return也不管用,map會返回一個新數組給你,園數組不會發生改變。

filter:從字面上看就是過濾篩選的意思

語法:

var?ages = [32,?33,?16,?40];

function?checkAdult(age) {
????return?age >=?18;
}

返回一個新的對象數組,不會將原有的數組進行改變。

some:用于檢測數組中的元素是否滿足條件

注意:some不會對空數組進行檢測,不會改變原始數組。

語法:

var?ages = [3,?10,?18,?20];

function?checkAdult(age) {
????return?age >=?18;
}

?

返回的是true或false。

every:用于檢測數組中的所有元素是否符合指定條件,

注意:如果數組中有一個元素沒有符合條件,則整個表達式返回的都是false,所有元素滿足時才返回true,不會對空數組進行檢測,不會改變原始數組。

語法:

var?ages = [32,?33,?16,?40];

function?checkAdult(age) {
????return?age >=?18;
}

返回的是true或false

find:返回通過測試(函數內判斷)的數組的第一個元素的值,為數組中的每個元素都調用一次函數執行。

注意:

  • 當數組中的元素在測試條件時返回?true?時, find() 返回符合條件的元素,之后的值不會再調用執行函數。
  • 如果沒有符合條件的元素返回 undefined
  • ?find() 對于空數組,函數是不會執行的。

  • ?find() 并沒有改變數組的原始值。
語法:

var ages = [3, 10, 18, 20];

function checkAdult(age) {

  return age >= 18;

}

find和some很類似,都是尋找符合條件的,有一個就可以 不過some進去搜羅了一圈回來如果有符合條件的就返回true,而find是將符合條件的那條數據返回出來(返回第一個符合條件的對象)。

?

轉載于:https://www.cnblogs.com/0314dxj/p/11057743.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的forEach、map、filter、some、every、find之间的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。