数组的高阶方法
forEach()方法,用于循环遍历整个数组
该方法的参数是一个回调函数,回调函数可以传两个参数,第一个参数是数组中的每一项元素,
第二个参数是每一项元素对应的下标。
注意:第二个参数可以省略。
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
arr.forEach((item, index) => console.log(item + '-' + index))
filter()方法,用于过滤数组中的元素,返回过滤结果
let arr2 = arr.filter(item => item % 2 != 0)
console.log(arr2);
find()方法,用于获取数组中满足规则的第一个元素
let num1 = arr.find(item => item % 2 == 0)
console.log(num1);
findIndex()方法,用于获取数组中满足规则的第一个元素下标
let index1 = arr.findIndex(item => item % 2 == 0)
console.log(index1);
some()方法,用于表示数组中是否有满足指定规则的元素,有返回true,一个都没有返回false
let isok1 = arr.some(item => item % 3 == 0)
console.log(isok1);
every()方法,用于表示数组中是否所有元素都满足指定的规则
let isok2 = arr.every(item => item > 10)
console.log(isok2);
let isok3 = arr.every(item => item > 100)
console.log(isok3);
map()方法,用于将原始数组里面的数据根据指定的规则返回新的数组
let arr3 = arr.map(item => item * 2)
console.log(arr3);
let arr4 = arr.map(item => item % 4)
console.log(arr4);
let arr5 = arr.filter(item => item % 3 == 0).map(item => item - 10)
console.log(arr5);
sort()方法,对数组的元素进行排序
let arr6 = [33, 22, 55, 7, 46]
console.log(arr6);
arr6.sort((a, b) => a - b) //升序
console.log(arr6);
arr6.sort((a, b) => b - a) //降序
console.log(arr6);
回调函数需要传两个参数,返回参数1-参数2是升序,返回参数2-参数1是降序
reduce()方法,统计数组中元素的值(从左到右)
let sum1 = arr6.reduce((a, b) => {
return a + b
})
console.log(sum1);
reduceRight()方法,统计数组中元素的值(从右到左)
let sum3 = arr6.reduceRight((a, b) => {
return a + b
})
console.log(sum3);