亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

Array數組對象中的forEach、map、filter及reduce詳析

2024-05-06 16:45:30
字體:
來源:轉載
供稿:網友

前言

剛才某人問了我一個問題。map怎么遍歷,我刷刷刷就是一頓寫。遍歷么,forEach么,妥妥的。

var map = new Map();map.set('item1', 'value1')map.set('item2', 'value2')map.forEach(function(value, key, map) { console.log("Key: %s, Value: %s", key, value);});

好吧,我寫完了之后,他發給我了一句話。 [].forEach()改成[].map()怎么用?

what?我這個暴脾氣。。。。我當然是詳細的說一下Array的常規遍歷方法以及場景了。

Array.filter

語法

var new_arr = arr.filter(callback(element, index, array){}, this)

參數

callback 回調
    element 當前的value
    index   當前的索引值
    array   arr這個數組對象
this 回調的this指向

返回值

Array 類型
//符合條件的值組成的數組

用法

//如果返回值是true的話,就是符合條件。//filter 不會改變原數組,它返回過濾后的新數組。//這個里返回數組里面的偶數[10,11,12,13].filter((v)=>v % 2 == 0)//只要審核通過的。當然正常情況下,對象比這個復雜一些。[{state:1},{state:0},{state:0},{state:0}].filter((v)=>v.state == 1)//只要成年人,記錄是有效的[{age:18,state:1},{age:16,state:0},{age:21,state:0}].filter((v)=>v.state == 1 && v.age > 17)

場景

場景就是過濾,把符合條件的整理到一起,常見的就是展示審核通過的數據,只顯示關注我的人,只顯示妹子,對吧糙漢子就過濾不看了。

Array.forEach

語法

arr.forEach(callback(element, index, array){}, this)

參數

callback 回調
    element 當前的value
    index   當前的索引值
    array   arr這個數組對象
this 回調的this指向

返回值

undefined
// 這個東西沒有返回值

用法

//遍歷數組。打印到控制臺[10,11,12,13].forEach((v)=>{ console.log(v)})// 成功的收集到success里面,錯誤的收集到error里面。var success = [],error = [];[{state:1},{state:0},{state:0},{state:0}].forEach((v)=>{ if(v.state == 1){  success.push(v) }else{  error.push(v) }})// 給20歲的小姐姐打招呼[{state:1,age: 1},{state:0,age: 20},{state:0,age: 19},{state:0,age: 31}].forEach((v)=>{ if(v.age == 20){  console.log('你好啊,我今年正好80') }})

場景

比如說綁定事件,比如判斷值然后push到不同的地方

Array.map

語法

arr.map(callback(element, index, array){}, this)

參數

callback 回調
    element 當前的value
    index   當前的索引值
    array   arr這個數組對象
this 回調的this指向

返回值

array 數組
// 每個回調的返回值組成的新數組

用法

//把數值格式化,保留兩位小數[10.055,11.054,12.056,13.789].map((v)=>+v.toFixed(2))

場景

這個一般就用在,我需要一組值,但是這個值不對,需要計算原數組來生成。

Array.reduce

語法

arr.reduce(callback(accumulator, element, index, array){}, initialValue)

參數

callback 回調
    sum     累加器的返回值,也就是上一次回調的返回值
    element 當前的value
    index   當前的索引值
    array   arr這個數組對象
initialValue 初始傳入的值,如果不傳回調從下標1開始,下標0作為初始值

返回值

//返回最后一次回調的值

用法

//累加[10,11,12,13].reduce((s,v)=>s+v,0)

場景

這個計算整個數組得出一個值的

對比

  • forEach沒有返回值,重點是function里面處理邏輯
  • map有返回值,重點是function返回值,組成新數組
  • filter有返回值,重點是function返回值,過濾之后組成新數組
  • reduce有返回值,重點是計算數組,返回一個值

昨天晚上下班著急跑路,還差一些例子沒往上整理,今天補上

例子

大家可以嘗試寫寫,有好的例子能更好的說明函數的作用也可以在評論區提出來,有好的解決方案也可以寫出來。

有一組用戶信息按手機號降序排序,輸出用戶名稱,用逗號分隔

[{name: 'l1', phone: '1507539'},{name: 'l2', phone: '1507540'},{name: 'l3', phone: '1507541'},{name: 'l4', phone: '1507538'}] .sort((n,m)=>n.phone<m.phone) .map(m=>m.name) .join(',')

給元素綁事件

 [].slice.call(document.querySelectorAll('div')) .forEach(v=>v.addEventListener('click',e=>console.log(e.target.className)))

獲取所有元素的class,過濾空串

[].slice.call(document.querySelectorAll('*')) .map(v=>v.className) .filter(v=>v)

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲自拍中文字幕| 国产精品一区二区三区毛片淫片| 精品国产老师黑色丝袜高跟鞋| 国产欧美日韩91| 91高潮在线观看| 日本欧美一二三区| 成人性生交大片免费看小说| 91av在线不卡| 国产成人一区二区三区| 亚洲欧美国产精品专区久久| 国产成人自拍视频在线观看| 亚洲第一网站男人都懂| 韩国三级日本三级少妇99| 国产专区欧美专区| 欧美日韩亚洲精品内裤| 97精品视频在线| 亚洲欧美日韩精品久久奇米色影视| 日本一区二区在线免费播放| 88国产精品欧美一区二区三区| 日韩美女av在线| 欧美亚洲激情在线| 日韩电影在线观看免费| 亚洲成人网在线观看| 91中文字幕在线观看| 性欧美激情精品| 国内免费久久久久久久久久久| 国产乱肥老妇国产一区二| 久久精品91久久香蕉加勒比| 日本一区二区在线免费播放| 国产女人18毛片水18精品| 九九精品视频在线观看| 亚洲精品永久免费| 欧美在线性爱视频| 欧美成人在线免费视频| 亚洲精品国产综合久久| 超碰日本道色综合久久综合| 亚洲视频在线观看| 欧美视频在线视频| 欧美国产日本高清在线| 亚洲国产毛片完整版| 久久免费在线观看| 亚洲欧洲成视频免费观看| 俺去了亚洲欧美日韩| 亚洲天堂开心观看| 亚洲欧美变态国产另类| 另类色图亚洲色图| 色诱女教师一区二区三区| 91麻豆国产语对白在线观看| 亚洲午夜未满十八勿入免费观看全集| 亚洲欧洲自拍偷拍| 夜夜嗨av一区二区三区四区| 欧美乱大交做爰xxxⅹ性3| 日韩中文字幕视频在线| 俺也去精品视频在线观看| 国产精品亚洲网站| 国产精品高潮呻吟久久av野狼| 欧美成人亚洲成人| 国产一区二区三区三区在线观看| 欧美精品在线免费观看| 精品久久久久久中文字幕一区奶水| 欧美久久久精品| 日韩成人激情在线| 91色在线视频| 亚洲精美色品网站| 日韩大胆人体377p| 国产日本欧美一区二区三区| 亚洲欧美国产精品久久久久久久| 久久精品99久久香蕉国产色戒| 国产精品一区二区在线| 国产精品午夜国产小视频| 久久久久久亚洲| 欧美日韩综合视频网址| 91色在线视频| 日韩在线视频二区| 欧美成人激情图片网| 国产精品欧美久久久| 亚洲夜晚福利在线观看| 亚洲天堂av高清| 欧美最顶级丰满的aⅴ艳星| 日韩av在线网站| 国产精品极品美女在线观看免费| 一区二区三区www| 欧美夫妻性生活视频| 在线观看不卡av| 色婷婷av一区二区三区在线观看| 国产成人综合一区二区三区| 亚洲2020天天堂在线观看| 性金发美女69hd大尺寸| 91精品国产91久久久久久久久| 国产精品一区电影| 日韩欧美高清在线视频| 欧美性xxxxhd| 日韩一区二区三区国产| 欧美美最猛性xxxxxx| 中文字幕亚洲一区在线观看| 亚洲欧美日韩国产成人| 久青草国产97香蕉在线视频| 日韩精品免费在线视频观看| 日韩欧美在线中文字幕| 亚洲第一精品电影| 亚洲午夜精品久久久久久久久久久久| 日韩精品极品在线观看| 国产精品免费观看在线| 精品亚洲国产成av人片传媒| 国内精品一区二区三区| 国产精品美女网站| 91免费电影网站| 欧美影院在线播放| 伊是香蕉大人久久| 久久精品视频va| 亚洲欧美日韩图片| 在线电影中文日韩| 日韩在线观看精品| 毛片精品免费在线观看| 不卡av电影在线观看| 午夜精品福利电影| 国产精品aaaa| 成人网址在线观看| 日韩精品极品在线观看| 欧美亚洲另类视频| xvideos成人免费中文版| 国产精品日韩欧美| 国产精品麻豆va在线播放| 成人激情电影一区二区| 亚洲国产精品一区二区久| 亚州欧美日韩中文视频| 国产深夜精品福利| 91精品久久久久久久久青青| 国产精品久久久久久久久久小说| 5566日本婷婷色中文字幕97| 国产亚洲人成网站在线观看| 国产精品爱啪在线线免费观看| 亚洲精品免费一区二区三区| 成人性生交大片免费观看嘿嘿视频| 日韩中文字幕网址| 欧美激情网友自拍| 日韩欧美精品中文字幕| 国产精品手机播放| 国产欧美日韩专区发布| 97精品久久久中文字幕免费| 日韩一区二区三区xxxx| 26uuu亚洲伊人春色| www.精品av.com| 中文字幕日韩在线观看| 欧亚精品在线观看| 国产女人18毛片水18精品| 国产91精品视频在线观看| 亚洲第一精品福利| 性欧美亚洲xxxx乳在线观看| 亚洲免费小视频| 亚洲色图35p| 国产福利精品在线| 欧美日韩国产成人在线观看| 中文字幕在线看视频国产欧美在线看完整| 久久久亚洲网站| 中文字幕自拍vr一区二区三区| 91系列在线播放| 国产精品第一页在线| 在线看福利67194| 亚洲片在线资源| 国产精品女主播| 久久亚洲欧美日韩精品专区| 2020国产精品视频| 亚洲高清一区二|