JavaScript數組迭代實現的方法分享

黄舟
發布: 2017-03-23 14:57:59
原創
1211 人瀏覽過

本文主要介紹了JavaScript陣列迭代方法,具有很好的參考價值。下面跟著小編一起來看下吧

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

陣列常用的迭代方法

ECMAScript5為陣列定義了5個迭代方法。每個方法都接受兩個參數:要在每一項上執行的函數fn和(可選的)運行該函數的作用域物件-影響 `this` 的值。

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

array.forEach(function(item,index,array){ //do your staff here; },this)
登入後複製

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

這5個迭代方法作用及傳回值概覽如下:

ECMAScript5 Array元素迭代方法


#方法名稱 方法作用 #傳回值 #every() #針對陣列中每一項元素執行指定函數 filter() Array: 返回函數運行返回true的元素組成的新數組 forEach() 針對數組中每一項元素運行指定函數 :  無回傳值
Boolean:若每一項都回傳true,傳回true;
針對陣列中每一項元素運行指定函數,
null
map

()

針對數組中每一項元素運行指定函數Array:  返回函數運行後,得到到新新元素組成的新數組

some()

針對數組中每一項元素執行指定函數Boolean: 若有任意一項執行函數後傳回true, 則傳回true

簡單來說:

every() 、some() 方法適合用來對陣列元素進行

條件判斷

;

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

##forEach() 方法對不對數組本身做操作,僅對數組元素的二次應用;#########下面介紹下各個方法的使用栗子:#########先來假設一個場景,你拿到了公司的本月工資清單,假設你的工資為9000;公司員工工資組成的數組為salaries=[8500 ,12000,9900,9000],######a. 想知道你的薪水是不是最低的;######b.想知道有沒有人跟你薪水一樣多;##### #c.想知道 是不是所有人待遇都一樣;######d.想把大家的薪水都換成K為單位的資料###
var a,b,c; var your=9000; var salaries=[8500,12000,9900,9000]; a=slaries.some(function(item,index,array){ return item<9000 }); console.log(a);//true;恭喜你,还有人比你工资更低 b=salaries.filter(function(item,index,array){ return item== your; }) console.log(b);//[9000] 呵呵,有人跟你待遇一样 c=salaries.every(function(item,index,array){ return item==your; }); console.log(c);//false .不是所有人都和你一样待遇哦 d=salaries.map(function(item,index,array){ return item/1000 }); console.log(d);//[8.5,12,9.9,9]
登入後複製

以上是JavaScript數組迭代實現的方法分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!