1. 程式人生 > >陣列遍歷的幾種用法---forEach()、map()、filter()、every()、some()

陣列遍歷的幾種用法---forEach()、map()、filter()、every()、some()

1、forEach() 用於遍歷陣列無返回值,會改變原來陣列中的值

let arr = [1, 3, 12, 2, 20, -1, 6, 17];
arr.forEach((item, index, array) => {
    array[index] = item * 2;
});
console.log(arr);					//	[2, 6, 24, 4, 40, -2, 12, 34]

無返回值,直接改變原來的陣列

2、map() 用於遍歷陣列,返回處理之後的新陣列

const arr = [1, 3, 12, 2, 20, -1, 6, 17];
const newArr = arr.map((item, index, array) => item * 2);
console.log(arr);					//	[1, 3, 12, 2, 20, -1, 6, 17]
console.log(newArr);					//	[2, 6, 24, 4, 40, -2, 12, 34]

會返回被處理之後的新陣列

3、filter() 用於篩選陣列中滿足條件的元素,返回一個篩選後的新陣列

const arr = [1, 3, 12, 2, 20, -1, 6, 17];
const newArr = arr.filter((item, index, array) => item < 5);
console.log(arr);					//	[1, 3, 12, 2, 20, -1, 6, 17]
console.log(newArr);					//	[1, 3, 2, -1]

主要用於篩選,返回篩選後的一個新陣列

4、every() 用於判斷陣列中的每一項元素是否都滿足條件,返回一個布林值

const arr = [1, 3, 12, 2, 20, -1, 6, 17];
const bool = arr.every((item, index, array) => item < 12);
console.log(bool);					//	false

所有元素都滿足條件返回true,只要有一個不滿足則返回false

5、some() 用於判斷陣列中是否存在滿足條件的元素,返回一個布林值

const arr = [1, 3, 12, 2, 20, -1, 6, 17];
const bool = arr.some((item, index, array) => item < 12);
console.log(bool);					//	true

只要有一個滿足條件的就返回true,如果所有都不滿足則返回false