不看后悔一輩子!JS中的遍歷數(shù)組方法

數(shù)組遍歷的幾種方法

數(shù)組遍歷有如下幾種方法:

數(shù)組方法

  • map
  • forEach
  • filter
  • find
  • findIndex
  • every
  • some
  • reduce

其他方法

  • for
  • for in
  • for of
1.map

創(chuàng)建一個新數(shù)組,其結果是該數(shù)組中的每個元素都調用一個提供的函數(shù)后返回的結果,不改變原數(shù)組,返回值是一個新的數(shù)組。

var arr = [1, 2, 3, 4, 5, 6]
var newarr = arr.map(function (item, index, arr) {
    return item * 2
})
console.log(newarr) //[2, 4, 6, 8, 10, 12]
2.forEach

對數(shù)組的每個元素執(zhí)行一次提供的函數(shù),總是返回undefined,不改變原數(shù)組。

let arr = [1, 2, 3, 4, 5, 6]
arr.forEach((item,index)=>{
    arr[index] = item + 1  
})
console.log(arr); //[2, 3, 4, 5, 6, 7]
3.filter

對數(shù)組的每一項都進行過濾,返回符合條件的item組成的數(shù)組,不會改變原數(shù)組。

var arr = [1, 2, 3, 4, 5, 6];
var newarr = arr.filter(function (item, index, arr) {
    return item > 5
})
console.log(newarr);//6
4.find

遍歷數(shù)組,找到第一個符合條件的項,并返回該項,否則返回undefined,不會改變數(shù)組。

let findArr = [1,2,3,4,5,6]
let findResult = findArr.find((item, index) => {
  return item === 1;
});
console.log(findResult); //1
5.findIndex

遍歷數(shù)組找到第一個符合條件的項,并返回該項的索引值。否則返回-1,不會改變數(shù)組對象。

let findIndexArr = ['a','b','c'];
let findIndexResult = findIndexArr.findIndex((item, index)=>{
  return item === 'a';
});
console.log(findIndexResult); //true
6.every

對數(shù)組中的每一項運行給定函數(shù),如果該函數(shù)對每一項返回true,則返回true。簡單說就是看數(shù)組的每個元素是否符合要求,都符合則返回true,否則返回false

var arr = [1, 2, 3, 4, 5, 6];
var newarr = arr.every(function (item, index, arr) {
    return item > 5
})
console.log(newarr);//false
7.some

是對數(shù)組中每一項運行指定函數(shù),如果該函數(shù)對任一項返回true,則返回true。

let arr = [1, 2, 3, 4, 5, 6];
let newarr = arr.some(function (item, index, arr) {
    return item > 5
})
console.log(newarr);//true
8.reduce

接收一個函數(shù)作為累加器(accumulator),數(shù)組中的每個值(從左到右)開始縮減,最終為一個值;第二個參數(shù)作為第一次調用的a的值。

let arr = [100, 200, 300, 400]
let newArr = arr.reduce(function(preval, item, index, arr) {
    console.log(preval, item, index, arr)
    return preval + item
})
console.log(newArr)

其他方法

1.for循環(huán)
let testArr = ['a','b','c']; 
for(var i = 0; a < testArr.length; i++){
  console.log(testArr[i]);
}
2.for in

遍歷的是key

let testArr = ['子項0','子項1','子項2'];  
for(let key in testArr){
  console.log(key)
}
3.for of

遍歷的是value

let testArr = ['子項0','子項1','子項2'];  
for(let value in testArr){
  console.log(value)
}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容