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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript数组(2)---遍历/迭代方法 8种

發布時間:2023/11/30 javascript 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript数组(2)---遍历/迭代方法 8种 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近工作中經常涉及到數據的處理,數組尤其常見,經常需要對其進行遍歷、轉換操作,網上的文章零零散散,不得已自己又找出紅寶書來翻出來看,順便記一筆,便于以后查詢。

  • 數組常用的方法

ECMAScript5為數組定義了8個迭代方法。每個方法都接受兩個參數:要在每一項上運行的函數fn和(可選的)運行該函數的作用域對象——影響 `this` 的值。

傳入這些方法中的函數(fn)會接收3個參數:item 、index 、array; 如:

array.forEach(function(item,index,array){//do your staff here; },this)

?

根據使用方法的不同,這個函數執行后的返回值,可能會/不會影響方法中的返回值。

  這5個迭代方法作用及返回值概覽如下(末尾補充另外3個):

ECMAScript5 Array元素迭代方法
方法名方法作用 返回值
every()針對數組中每一項元素運行指定函數Boolean:若每一項都返回true,返回true;
filter()針對數組中每一項元素運行指定函數,Array: ? 返回函數運行返回true的元素組成的新數組
forEach()針對數組中每一項元素運行指定函數null:  無返回值
map()針對數組中每一項元素運行指定函數 Array:  返回函數運行后,得到到新新元素組成的新數組
some()針對數組中每一項元素運行指定函數Boolean: 若有任意一項執行函數后返回true, 則返回true

簡單來說:

every() 、some() 方法適合用于對數組元素進行條件判斷;

filter() ?、map() 方法適合用于對數組進行條件篩選/再處理;

forEach() 方法對不對數組本身做操作,僅僅對數組元素的二次應用;

下面介紹下各個方法的使用栗子:

先來假設一個場景,你拿到了公司的本月工資清單,假設你的工資為9000;公司員工工資組成的數組為salaries=[8500,12000,9900,9000],

a.?想知道 你的工資是不是最低的;

b.想知道 有沒有人和你工資一樣多;

c.想知道 ?是不是所有人待遇都一樣;

d.想 ? ? ?把大家的工資都換成K為單位的數據?

1 var a,b,c,d; 2 var your=9000; 3 var salaries=[8500,12000,9900,9000]; 4 a=salaries.some(function(item,index,array){ 5 return item<9000 6 }); 7 console.log(a);//true;恭喜你,還有人比你工資更低 8 9 10 b=salaries.filter(function(item,index,array){ 11 return item== your; 12 }) 13 console.log(b);//[9000] 呵呵,有人跟你待遇一樣 14 15 c=salaries.every(function(item,index,array){ 16 return item==your; 17 }); 18 console.log(c);//false .不是所有人都和你一樣待遇哦 19 20 d=salaries.map(function(item,index,array){ 21 return item/1000 22 }); 23 console.log(d);//[8.5,12,9.9,9]

? PS:補充三個遺漏的方法

1.array.reduce(callback,[initalValue]):歸并函數——對每個數組元素執行回調函數,返回最后一次調用結果值

    //此處回調函數有4個參數,其中第4個參數可選;即calback(accumulator,value,index,array,initalValue)

2.Array.find(callback[,thisArg]):查找函數——返回第一個通過測試的元素

3.Array.findIndex(callback[,Arg]):查找函數——返回第一個通過測試的元素的索引值

?

看完這些是否覺得以后再也不需要for循環了,那么看看下面這個坑吧:

[1,2,3].map(parseInt);//[1,NaN,NaN]//注意: //1.Array.map(iterm,index,array) //2.parseInt(value,base)

?

轉載于:https://www.cnblogs.com/hbzyin/p/6493371.html

總結

以上是生活随笔為你收集整理的JavaScript数组(2)---遍历/迭代方法 8种的全部內容,希望文章能夠幫你解決所遇到的問題。

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