本篇文章給大家總結了一些javascript遍歷數組的幾種方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
有幾種方法可以遍歷數組,下面將逐個羅列!
while循環
let index = 0; const array = [1, 2, 3, 4, 5]; while (index < array.length) { console.log(array[index]); index++; }
for循環
const array = [1,2,3,4,5]; for(let index=0;index<array.length;index++){ console.log(array[index]); } for(let index in array){ console.log(array[index]); }
forEach
const array=[1,2,3,4,5]; array.forEach(function(current_value,index,array){ console.log(`At index ${index} in array ${array} the value is ${current_value}`) })
map
最后一個構造很有用,但是不會返回新數組,這對于你的特定情況可能是不希望的。map通過對每個元素應用一個函數然后返回新數組來解決此問題。
const array = [1,2,3,4,5]; const square = x =>Math.pow(x,2); const squares = array.map(square); console.log(`${array}`); console.log(`${squares}`)
reduce
reduce()方法對累加器和數組中的每個元素(從左到右)應用一個函數,以將其減小為單個值
const array = [1,2,3,4,5]; const sum = (x,y) => x + y; const array_sum = array.reduce(sum,0); console.log(`the sum of arrray:${array} is ${array_sum}`);
filter
根據布爾函數過濾篩選數組中的元素
const array = [1,2,3,4,5]; const even = x => x%2 === 0; const even_array = array.filter(even); console.log(`even numbers in array ${array} : ${even_array}`);
every
得到了一個數組,想測試每個元素是否滿足給定條件
const array = [1,2,3,4,5,8]; const under_six = x => x<6; if(array.every(under_six)){ console.log(`every elemnet in the array is less than 6`); } else{ console.log(`at least one element in the array was bigger than 6`); }
some
測試是否至少有一個元素與布爾函數匹配
const array = [2,4,5,6,8]; const over_five = x => x>5; if(array.some(over_five)){ console.log(`at least one element bigger than 5 was found`); } else{ console.log(`no element bigger than 5 was found`); }
到此就結束啦,