JavaScript 數(shù)組迭代方法
1.Array.forEach()
????forEach()?方法為每個數(shù)組元素調(diào)用一次函數(shù)(回調(diào)函數(shù))昭雌。
? ? ((遍歷數(shù)組))
2.Array.map()
? ??map()?方法通過對每個數(shù)組元素執(zhí)行函數(shù)來創(chuàng)建新數(shù)組笨篷。
????map()?方法不會對沒有值的數(shù)組元素執(zhí)行函數(shù)。
????map()?方法不會更改原始數(shù)組。
????((修改數(shù)組內(nèi)元素甥啄,并返回新的數(shù)組))
3.Array.filter()
????filter()?方法創(chuàng)建一個包含通過測試的數(shù)組元素的新數(shù)組吃环。
function myFunction(value, index, array) {
return value > 18; }
4.Array.reduce()
????reduce()?方法在每個數(shù)組元素上運行函數(shù)锌钮,以生成(減少它)單個值陨闹。
????reduce()?方法在數(shù)組中從左到右工作。另請參見 reduceRight()聘芜。
????reduce()?方法不會減少原始數(shù)組兄渺。
function myFunction(total, value, index, array) {
return total + value; }
數(shù)組中數(shù)值的總和
reduce()?方法能夠接受一個初始值:
5.Array.reduceRight()
reduceRight()?方法在每個數(shù)組元素上運行函數(shù),以生成(減少它)單個值汰现。
reduceRight()?方法在數(shù)組中從左到右工作挂谍。另請參見 reduce()叔壤。
reduceRight()?方法不會減少原始數(shù)組。
請注意此函數(shù)接受 4 個參數(shù):
總數(shù)(初始值/先前返回的值)
項目值
項目索引
數(shù)組本身
6.Array.every()
????every()?方法檢查所有數(shù)組值是否通過測試口叙。?
function myFunction(value, index, array) {
return value > 18; }
????通過返回true炼绘,不通過返回false
7.Array.some()
????some()?方法檢查某些數(shù)組值是否通過了測試。
8.Array.indexOf()
? ??indexOf()?方法在數(shù)組中搜索元素值并返回其位置(索引位)妄田。
????array.indexOf(item,start)
? ??item????必需俺亮。要檢索的項目。
? ??start????可選疟呐。從哪里開始搜索脚曾。負(fù)值將從結(jié)尾開始的給定位置開始,并搜索到結(jié)尾启具。
9.Array.lastIndexOf()
????Array.lastIndexOf()?與?Array.indexOf()?類似本讥,但是從數(shù)組結(jié)尾開始搜索。
10.Array.find()
? ??find()?方法返回通過測試函數(shù)的第一個數(shù)組元素的值鲁冯。
var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(myFunction);
function myFunction(value, index, array) { return value > 18; }
返回通過測試的值拷沸,25
11.Array.findIndex()
? ??findIndex()?方法返回通過測試函數(shù)的第一個數(shù)組元素的索引。
? ? 同上薯演,測試通過返回索引 , 3