1.forEach() 方法对数组的每个元素执行一次给定的函数(或特定的操作)。
function demoForEach() {
var arr = ['a', 'b', 'c'];
arr.forEach(
// element:数组中正在处理的当前元素
// index:数组中正在处理的当前元素的索引
// arr:function方法正在操作的数组
function (element, index, arr) {
console.log('给数组每个元素进行操作', element, index, arr);
//输出
//给数组每个元素进行操作 a 0 Array(3)
//给数组每个元素进行操作 b 1 Array(3)
//给数组每个元素进行操作 c 2 Array(3)
}
)
}
demoForEach();
2.map() 方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后 的返回值
function demoMap() {
var arr = [3, 6, 9, 12, 15];
var arr2 = arr.map(
// element:数组中正在处理的当前元素
// index:数组中正在处理的当前元素的索引
// arr:function方法正在操作的数组
function (element, index, arr) {
return element * 3;
}
);
console.log(arr);//[3, 6, 9, 12, 15]
console.log(arr2);//[9, 18, 27, 36, 45]
}
demoMap();
3.filter() 方法创建一个新数组, 当中包含通过测试(用函数定义测试规则)的所有元素
function demoFilter() {
var arr = [1, 2, 4, 8, 10];
//ret 接收结果
var ret = arr.filter(
// element:数组中正在处理的当前元素
// index:数组中正在处理的当前元素的索引
// arr:function方法正在操作的数组
function (element, index, arr) {
return element >= 4;
}
);
console.log(ret);//[4, 8, 10]
}
demoFilter();
4.every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试,它返回一个布尔值
function demoEvery() {
//先定义测试函数
// element:数组中正在处理的当前元素
// index:数组中正在处理的当前元素的索引
// arr:function方法正在操作的数组
var test = function (element, index, arr) {
return element >= 3;
}
var arr = [3, 6, 9, 12, 15];
//测试是否arr中的每一个元素都能通过test的测试
var ret = arr.every(test);
console.log(ret);//true
}
demoEvery();
5.some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试,它返回的是一个Boolean类型的值
function demoSome() {
var arr = [2, 4, 6, 9, 10];
// element:数组中正在处理的当前元素
var odd = function (element) {
return (element % 2 === 1);
}
var ret = arr.some(odd);
console.log(ret);//true
}
demoSome();
6.reduce()
方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值
function demoReduce() {
var arr = [3, 6, 9, 12, 15];
//acc 累计器
//element 当前值
var reducer = function (acc, element) {
return acc + element;
}
var ret = arr.reduce(reducer);
//3 + 6 + 9 + 12 + 15
console.log(ret);//45
//以10当前值累计
//10 + 3 + 6 + 9 + 12 + 15
console.log(arr.reduce(reducer, 10));//55
}
demoReduce();