最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

總結(jié)javascript中的六種迭代器

 更新時(shí)間:2016年08月16日 10:29:27   投稿:daisy  
本文總結(jié)了javascript中的六種迭代器的使用實(shí)例,分別是forEach迭代器、every迭代器、some迭代器、reduce迭代器、map迭代器和fiter迭代器,有需要的小伙伴們可以參考借鑒。

1.forEach迭代器

forEach方法接收一個(gè)函數(shù)作為參數(shù),對(duì)數(shù)組中每個(gè)元素使用這個(gè)函數(shù),只調(diào)用這個(gè)函數(shù),數(shù)組本身沒(méi)有任何變化

//forEach迭代器
function square(num){
  document.write(num + ' ' + num*num + '<br>');
}

var nums = [1,2,3,4,5,6,7,8];
nums.forEach(square);

在瀏覽器中輸出的結(jié)果是:

2.every迭代器

every方法接受一個(gè)返回值為布爾類型的函數(shù),對(duì)數(shù)組中的每個(gè)元素使用這個(gè)函數(shù),如果對(duì)于所有的元素,該函數(shù)均返回true,則該方法返回true,否則返回false

//every迭代器
function isEven(num){
  return num % 2 == 0;
}
var nums = [2,4,6,8];
document.write(nums.every(isEven));

3.some迭代器

some方法也是接受一個(gè)返回值為布爾類型的函數(shù),只要有一個(gè)元素使得該函數(shù)返回true,該方法就返回true

//some迭代器
function isEven(num){
  return num % 2 == 0;
}
var nums = [1,3,5,7];
document.write(nums.some(isEven));

4.reduce迭代器

reduce方法接受一個(gè)函數(shù),返回一個(gè)值,該方法從一個(gè)累加值開(kāi)始,不斷對(duì)累加值和數(shù)組中的后續(xù)元素調(diào)用該函數(shù),知道數(shù)組中最后一個(gè)元素,最后得到返回的累加值

//reduce迭代器
function add(runningTotal, currentValue){
  return runningTotal + currentValue;
}
var nums = [1,2,3,4,5,6,7,8,9,10];
var sum = nums.reduce(add);
document.write(sum);

得到的結(jié)果是:55

reduce()函數(shù)和add()函數(shù)一起,從左到右,一次對(duì)數(shù)組中的元素求和,執(zhí)行過(guò)程如下:

add(1,2) -> 3
add(3,3) -> 6
add(6,4) -> 10
add(10,5) -> 15
add(15,6) -> 21
add(21,7) -> 28
add(28,8) -> 36
add(36,9) -> 45
add(45,10) -> 55

reduce方法也可以用來(lái)將數(shù)組中的元素鏈接成一個(gè)長(zhǎng)的字符串,代碼如下

//使用reduce連接數(shù)組元素
function concat(accumulatedString, item){
  return accumulatedString + item;
}
var words = ['the ', 'quick ', 'brown ', 'fox'];
var sentence = words.reduce(concat);
document.write(sentence);

最后輸出結(jié)果如下:

javascript還提供了reduceRight方法,和Reduce方法不同,它是從右到左執(zhí)行,如下:

//使用reduce連接數(shù)組元素
function concat(accumulatedString, item){
  return accumulatedString + item;
}
var words = ['the ', 'quick ', 'brown ', 'fox '];
var sentence = words.reduceRight(concat);
document.write(sentence);

執(zhí)行結(jié)果如下:


5.map迭代器

map迭代器和forEach有些類似,但是map會(huì)改變數(shù)組,生成新的數(shù)組,如下代碼

//使用map迭代器生成新的數(shù)組
function curve(grade){
  return grade+5;
}
var grades = [77,65,81,92,83];
var newgrades = grades.map(curve);
document.write(newgrades);

輸出結(jié)果:

6.fiter迭代器

和every迭代器類似,傳入一個(gè)返回值為布爾類型的函數(shù),和every方法不同的是,當(dāng)數(shù)組中所有元素對(duì)應(yīng)該函數(shù)返回的結(jié)果均為true時(shí),該方法并不返回true,而是返回一個(gè)新的數(shù)組,該數(shù)組包含對(duì)應(yīng)函數(shù)返回結(jié)果為true的元素,代碼如下

function isEven(num){
  return num % 2 == 0;
}

function isOdd(num){
  return num % 2 != 0;
}

var nums = [];
for (var i=0; i<20; i++) {
  nums[i] = i+1;
}
var evens = nums.filter(isEven);
document.write(evens);
document.write('<br>');
var odds = nums.filter(isOdd);
document.write(odds);

輸出結(jié)果如下:

總結(jié)

以上就是關(guān)于javascript中的六種迭代器的總結(jié),希望本文的內(nèi)容對(duì)大家學(xué)習(xí)工作能有所幫助。

相關(guān)文章

  • Jquery 返回json數(shù)據(jù)在IE瀏覽器中提示下載的問(wèn)題

    Jquery 返回json數(shù)據(jù)在IE瀏覽器中提示下載的問(wèn)題

    Jquery 返回json數(shù)據(jù),IE瀏覽器提示下載的問(wèn)題,當(dāng)提交完數(shù)據(jù)后返回的本來(lái)是json數(shù)據(jù)的,在火弧里測(cè)試正常,解決方法如下
    2014-05-05
  • JavaScript中string對(duì)象

    JavaScript中string對(duì)象

    和JAVA中String對(duì)象用處一樣啊,javascript中的String對(duì)象也有自己的方法,和JAVA中的類似。
    2015-06-06
  • JS是按值傳遞還是按引用傳遞

    JS是按值傳遞還是按引用傳遞

    在分析這個(gè)問(wèn)題之前,我們需了解什么是按值傳遞(call by value),什么是按引用傳遞(call by reference)。在計(jì)算機(jī)科學(xué)里,這個(gè)部分叫求值策略(Evaluation Strategy)。它決定變量之間、函數(shù)調(diào)用時(shí)實(shí)參和形參之間值是如何傳遞的。
    2015-01-01
  • 百度小程序之間的頁(yè)面通信過(guò)程詳解

    百度小程序之間的頁(yè)面通信過(guò)程詳解

    這篇文章主要介紹了百度小程序之間的頁(yè)面通信,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 教你一步步實(shí)現(xiàn)一個(gè)簡(jiǎn)易promise

    教你一步步實(shí)現(xiàn)一個(gè)簡(jiǎn)易promise

    Promise是異步編程的一種解決方案,比傳統(tǒng)的解決方案回調(diào)函數(shù)和事件更合理且更強(qiáng)大,這篇文章主要給大家介紹了關(guān)于如何一步步實(shí)現(xiàn)一個(gè)簡(jiǎn)易promise的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • javascript動(dòng)態(tài)添加checkbox復(fù)選框的方法

    javascript動(dòng)態(tài)添加checkbox復(fù)選框的方法

    這篇文章主要介紹了javascript動(dòng)態(tài)添加checkbox復(fù)選框的方法的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • js特殊字符轉(zhuǎn)義介紹

    js特殊字符轉(zhuǎn)義介紹

    js特殊字符轉(zhuǎn)義。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-11-11
  • 在Iframe中獲取父窗口中表單的值(示例代碼)

    在Iframe中獲取父窗口中表單的值(示例代碼)

    這篇文章主要介紹了在Iframe中獲取父窗口中表單的值(示例代碼)。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-11-11
  • 20多個(gè)小事例帶你重溫ES10新特性(小結(jié))

    20多個(gè)小事例帶你重溫ES10新特性(小結(jié))

    這篇文章主要介紹了20多個(gè)小事例帶你重溫ES10新特性(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 生產(chǎn)制造追溯系統(tǒng)之在線打印功能

    生產(chǎn)制造追溯系統(tǒng)之在線打印功能

    這篇文章主要介紹了生產(chǎn)制造追溯系統(tǒng)之在線打印功能,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-06-06

最新評(píng)論

怀宁县| 泗水县| 丽水市| 达孜县| 德惠市| 松桃| 赣榆县| 赤壁市| 惠来县| 怀仁县| 黄陵县| 南郑县| 鹤峰县| 济宁市| 巴林右旗| 顺平县| 镇康县| 洪雅县| 咸丰县| 额尔古纳市| 绥阳县| 盱眙县| 宜宾县| 澜沧| 邵阳县| 行唐县| 黄冈市| 东丽区| 江都市| 隆安县| 巴马| 高安市| 紫阳县| 祁门县| 兖州市| 大邑县| 任丘市| 建昌县| 丰县| 赣州市| 靖西县|