js中數(shù)組操作2(那些迭代器方法)

最近在看js描述的數(shù)據(jù)結構記錄一下js數(shù)組操作中的一些方法

大致分為兩類吧,一種是產(chǎn)生新數(shù)組、另一種是不產(chǎn)生新數(shù)組。

第一種是不產(chǎn)生新數(shù)組的方法

1.forEach()

需要一個方法作為參數(shù),對數(shù)組中每個元素使用這個方法
但是這個在遍歷過程中不能中途中斷

2.every()

參數(shù):一個返回值是布爾類型的方法
返回值: 布爾值 true/false
說明:和forEach()一樣,every()也會對數(shù)組中每一個元素使用作為參數(shù)的方法。當對于所有數(shù)組元素使用該方法的返回值都是true時,every()返回true;反之返回false

3.some()

參數(shù):一個返回值是布爾類型的方法
返回值: 布爾值 true/false
說明:此方法和every剛好相反。只要數(shù)組中有一個元素返回時true,則some()返回true;反之,返回false

4.reduce()

參數(shù):接受一個方法,該方法兩個參數(shù)argA,argB
返回值: 一個累加值
說明:此方法會重一個累加值開始,不斷對累加值和數(shù)組中的后續(xù)元素調(diào)用參數(shù)方法,直到最后一個元素后返回累加值。該累加值就是argA;argB則是每一次參加計算的數(shù)組元素

function add(argA, argB) {
  return argA + argB;
}
var list = [1,2,3,4,5];
var sum = list.reduce(add);
// 此時sum的值就是15

注意 上面計算會從數(shù)組第一個元素計算到最后一個元素,與之相反的一個方法就是reduceRight(),
這個方法效果和用法和reduce()相同,不過是從數(shù)組最后一個元素計算到第一個元素

第二種是會產(chǎn)生新數(shù)組的方法

1.map()

map方法和forEach()類似,參數(shù)為一個方法,對數(shù)組中的元素使用這個方法。區(qū)別在于,map()會返回一個>數(shù)組,該數(shù)組元素就是對原有元素應用參數(shù)方法的返回值

function fun(item) {
  return item += 3;
}
var list = [1,2,3,4,5]
var newList = list.map(fun);
// 這里newList 就是: [4,5,6,7,8]

2.filter()

filter()和every()類似。參數(shù)為一個返回值是布爾類型的方法。顧名思義,filter()是過濾掉一些元素的方法。
當遍歷的數(shù)組元素中返回值是true時會將此元素添加到新數(shù)組中

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,565評論 0 13
  • 1 Object 對象 教程:https://wangdoc.com/javascript/stdlib/obje...
    智勇雙全的小六閱讀 2,504評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • 一 老貝,鄙人同桌。 真名羅阿寶,帶我打羽毛球,把我從一級菜鳥帶到了二級菜鳥水平。 老貝他人緣好啊,集全班男女老少...
    阿意禾閱讀 1,076評論 10 4
  • 為了更好的了解box-shadow的特征,做幾個小測試:(為了方便直接在標簽內(nèi)嵌套樣式) 測試1: box...
    Gaochengxin閱讀 426評論 0 0

友情鏈接更多精彩內(nèi)容