不生成新数组的迭代器方法:forEach()every()some()reduce()reduceRight()
生活随笔
收集整理的這篇文章主要介紹了
不生成新数组的迭代器方法:forEach()every()some()reduce()reduceRight()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、forEach():接受一個函數作為參數, 對數組中的每個元素使用該函數。?
function square(num) {alert(num + " : " + num * num);}var nums = [ 1, 2, 3, 4 ];nums.forEach(square);?
二、every(): 接受一個返回值為布爾類型的函數, 對數組中的每個元素使用該函數。
function isEven(num) {return num % 2 == 0;}var nums = [ 2, 4, 6, 8, 10 ];var even = nums.every(isEven);if (even) {alert("all numbers are even");} else {alert("not all numbers are even");}?
三、some() :接受一個返回值為布爾類型的函數, 只要有一個元素使得該函數返回 true,該方法就返回 true。?
function isEven(num) {return num % 2 == 0;}var nums = [ 1, 2, 3, 6, 7 ];var someEven = nums.some(isEven);if (someEven) {alert("some numbers are even");} else {alert("no numbers are even");}?
四、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);alert(sum); // 顯示 55 function concat(accumulatedString, item) {return accumulatedString + item;}var words = [ "the ", "quick ", "brown ", "fox " ];var sentence = words.reduce(concat);alert(sentence); // 顯示 "the quick brown fox"?
五、reduceRight() 方法:執行順序與reduce相反
function add(runningTotal, currentValue) {return runningTotal + currentValue;}var nums = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];var sum = nums.reduceRight(add);alert(sum); // 顯示 55?
function concat(accumulatedString, item) {return accumulatedString + item;}var words = [ "the ", "quick ", "brown ", "fox " ];var sentence = words.reduceRight(concat);alert(sentence); // 顯示 "fox brown quick the"?
轉載于:https://www.cnblogs.com/feile/p/5369987.html
總結
以上是生活随笔為你收集整理的不生成新数组的迭代器方法:forEach()every()some()reduce()reduceRight()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hdu 2074
- 下一篇: 关于阿里面试的的一个小题