ES5一共有21个数组的方法:

ECMAScript 5中对Array中新增了9个常用的方法:
- 5个迭代方法(循环操作数组中的各个项):
forEach(),map(),filter(),every()和some() - 2个归并方法(迭代数组所有项,最终返回一个值):
reduce()和reduceRight() - 2个索引方法:
indexOf()和lastIndexOf();
一、forEach()方法
跟之前的for()循环一样,只是forEach更灵活
遍历当前数组,参数为一个回调函数,回调有三个值:
1.e当前元素,
2. index当前元素索引值,
3. array整个数组;
.forEach(function(e,index,arr){});
var arr = [1,2,3,4,5,6]
arr.forEach(function(e,index,array){
array[index]= e + 1
})
console.log(arr); //[2, 3, 4, 5, 6, 7]
二、map()方法
map()方法返回一个被操作后的新数组,不会改变原数组
新数组的元素值是每次函数return的返回值;
若不写return,接收的新数组的元素值将全为空;
var a = [1,2,3];
var b = a.map(function(x){
return x*x; //b得值是[1,4,9]
});
三、 filter()方法
过滤,过滤不符合条件的元素,如果回调函数返回true则保留,返回false则过滤掉
原数组不受影响;
通俗点说就是过滤器,过滤满足条件的数组的元素。
var arr = [20,13,11,8,0,11];
var brr =arr.filter(function(item)){
//返回值为奇数的元素
return item%2;
}
四、some()方法
判断数组内是否有指定元素,如果只要有一个则返回true,如果一个都没有则返回false
原数组不受影响;
var arr = [20,13,11,8,0,11];
var brr = arr.some(function(item){
return item>10;
})
alert(brr); //true
五、every()方法
判断数组内是否都有指定元素,如果全部都有则返回true,
如果有一个没有指定元素则返回false
原数组不受影响;
some()和every()相对;
some()是数组内只要有一个满足条件则返回true,一个都没有返回false
every()是数组内全部满足条件则返回true,否则返回flase
var arr = [20,13,11,8,0,11];
var brr = arr.every(function(item){
return item>10;
})
alert(brr); //false
六、reduce()方法
reduce()回调函数有四个参数:
- 第一个参数为:之前计算过的值,
- 第二个参数为:之前计算过的值的下一个值
- 第三个参数:当前索引
- 第四个参数为:当前数组对象
类似递归,可以求和之类的操作
let arr = [1,2,3];
let result = arr.reduce(function(prev, next, index, arr){
return prev + next;
})
console.log(result) // 6
七、reduceRight()
reduceRight()和reduce()类似,只是执行方向不同,
reduceRight()从数组的末尾往前递归
reduce()从数组的开头往后递归
八、indexOf()
跟字符串查找一样,查找指定元素是否存在,如果存在,返回下标,如果不存在返回-1
var a = ['Prosper', 'Lee', 'is', 'very', 'nice', '!!!']
console.log(a.indexOf("Pro")); // -1;
console.log(a.indexOf("is")); // 2
九、lastIndexOf()
跟indexOf()一样,只是查找起始点不同,indexOf是从第一个开始查找,
lastIndexOf()是从最后一个查找,如果存在,返回下标,如果不存在返回-1
var data = [2, 5, 7, 3, 5];
alert(data.lastIndexOf(5)); // 4
本文总结了ES5中数组的9个常用方法,包括forEach用于灵活遍历数组,map用于创建新数组而不改变原数组,filter用于过滤不符合条件的元素,some和every分别用于判断数组内是否存在指定元素,reduce和reduceRight进行数组值的累加或其他计算,以及indexOf和lastIndexOf用于查找数组中元素的位置。
708

被折叠的 条评论
为什么被折叠?



