ES5 Array 中的API
判断
every() 语法
arr.every()
判断arr
中每个元素是否都符合要求,符合要求返回true
,反之false
。
arr.every(function(val,i,arr){})
其中val
为当前元素的值,i
为当前元素的索引值,arr
为当前元素的数组对象;val
必填项,i
和arr
选填。
// 申明一个数组
var arr = [1,2,3,5,6,9];
// 定义 boolean 值接受every()返回的值
var bool = arr.every(function(val){
// 判断当前值是否符合条件
return val % 2 == 0
});
// 输出判断的结果
console.log(bool);
some() 语法
arr.some() 判断arr中是否存在符合要求的元素,如果存在,返回true,反之false。
arr.some(function(val,i,arr){})
其中val
为当前元素的值,i
为当前元素的索引值,arr
为当前元素的数组对象;val
必填项,i
和arr
选填。
// 申明一个数组
var arr = [1,2,3,5,6,9];
// 定义 boolean 值接受every()返回的值
var bool = arr.some(function(val){
// 判是否存在符合条件的元素
return val % 2 == 0
});
// 输出判断的结果
console.log(bool);
遍历
forEach() 语法
arr.forEach()
对数组中的每一个元素执行相同的操作。
arr.forEach(function(val,i,arr){})
其中val
为当前元素的值,i
为当前元素的索引值,arr
为当前元素的数组对象;val
必填项,i
和arr
选填。
// 申明一个数组
var arr = [1,2,3,4,5,6];
// 遍历数组执行操作
arr.forEach(function(val,i,arr){
arr[i]*= 2;
});
// 输出操作后的值
console.log(arr);
map() 语法
arr.map() 返回一个新的数组存放对数组中的每一个元素执行相同的操作,原数组无变化。
arr.map(function(val,i,arr){});
其中val
为当前元素的值,i
为当前元素的索引值,arr
为当前元素的数组对象;val
必填项,i
和arr
选填。
// 申明一个数组
var arr = [2,4,45,8,6,4];
// 定义一个数组接受返回的数组
var newarr = arr.map(function(val){
return val /= 2;
});
// 输出返回的数组
console.log(newarr);
过滤
filter() 语法
filter() 返回元素中符合条件的元素组成的新数组。
arr.filter(function(val,i,arr){});
其中val
为当前元素的值,i
为当前元素的索引值,arr
为当前元素的数组对象;val
必填项,i
和arr
选填。
// 声明一个数组
var arr = [2,5,1,52,5,4,6];
// 定义变量接受返回的值
var newarr = arr.filter(function(val){
// 筛选过滤
return val % 2 == 0
});
// 输出返回的结果
console.log(newarr);
汇总
reduce() 语法
reduce()
对数组中的每一个元素进行汇总,返回最终统计的结果。
arr.reduce(function(prev,val,i,arr){},starti);
其中prev
是初始值 ,val
为当前元素的值,i
为当前元素的索引值,arr
为当前元素的数组对象,starti
为传递给函数的初始值;val
和prev
必填项,i
、arr
和starti
选填。
// 声明一个数组
var arr = [1,2,5,15,6,3];
// 定义变量接受返回的值
var sum = arr.reduce(function(prev,val){
// 返回汇总的值
return prev + val;
// 初始值为10,从10开始累加
},10);
// 输出汇总的值
console.log(sum);