這篇文章主要為大家展示了“JavaScript中如何實現(xiàn)數(shù)組迭代”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“JavaScript中如何實現(xiàn)數(shù)組迭代”這篇文章吧。
目前成都創(chuàng)新互聯(lián)公司已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機、網(wǎng)站托管維護、企業(yè)網(wǎng)站設(shè)計、忻城網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
數(shù)組常用的迭代方法
ECMAScript5為數(shù)組定義了5個迭代方法。每個方法都接受兩個參數(shù):要在每一項上運行的函數(shù)fn和(可選的)運行該函數(shù)的作用域?qū)ο蟆绊?`this` 的值。
傳入這些方法中的函數(shù)(fn)會接收3個參數(shù):item 、index 、array; 如:
array.forEach(function(item,index,array){ //do your staff here; },this)
根據(jù)使用方法的不同,這個函數(shù)執(zhí)行后的返回值,可能會/不會影響方法中的返回值。
這5個迭代方法作用及返回值概覽如下:
ECMAScript5 Array元素迭代方法
方法名 | 方法作用 | 返回值 |
every() | 針對數(shù)組中每一項元素運行指定函數(shù) | Boolean:若每一項都返回true,返回true; |
filter() | 針對數(shù)組中每一項元素運行指定函數(shù), | Array: 返回函數(shù)運行返回true的元素組成的新數(shù)組 |
forEach() | 針對數(shù)組中每一項元素運行指定函數(shù) | null: 無返回值 |
map() | 針對數(shù)組中每一項元素運行指定函數(shù) | Array: 返回函數(shù)運行后,得到到新新元素組成的新數(shù)組 |
some() | 針對數(shù)組中每一項元素運行指定函數(shù) | Boolean: 若有任意一項執(zhí)行函數(shù)后返回true, 則返回true |
簡單來說:
every() 、some() 方法適合用于對數(shù)組元素進行條件判斷;
filter() 、map() 方法適合用于對數(shù)組進行條件篩選/再處理;
forEach() 方法對不對數(shù)組本身做操作,僅僅對數(shù)組元素的二次應(yīng)用;
下面介紹下各個方法的使用栗子:
先來假設(shè)一個場景,你拿到了公司的本月工資清單,假設(shè)你的工資為9000;公司員工工資組成的數(shù)組為salaries=[8500,12000,9900,9000],
a. 想知道 你的工資是不是最低的;
b.想知道 有沒有人和你工資一樣多;
c.想知道 是不是所有人待遇都一樣;
d.想把大家的工資都換成K為單位的數(shù)據(jù)
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中如何實現(xiàn)數(shù)組迭代”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!