如题,以下总结的都是日常当中使用到的数组的一些方法,平时的写法,如觉得不妥或有更好的实现方式希望能够指正。那么,都有呢些方法是常用的呢:
- forEach
- map
- filter
- reduce
forEach
用途:循环遍历数组
var arr =[1,2,3];
arr.forEach(function(v,i,array){
console.log(v,i,array)
})
//output
1,0,[1,2,3]
2,1,[1,2,3]
3,2,[1,2,3]
map
用途:将数组按照一定的规则,最后返回一个新的数组,对原数组没有影响
var arr = [1, 2, 3];
var newArr = arr.map(function (v, i, array) {
return v * v;
})
//output
[2,4,9] //newArr
[1,2,3] //arr
filter
用途:把给定的数组根据给出的条件返回一个新的数组,回调函数中的返回值为true时,返回当前数组的值
var arr = [0, 1, 2, 3, 4, 5];
var newArr = arr.filter(function (v, i, array) {
return v>2;
})
// output
[ 3, 4, 5] // newArr
reduce
用途:返回计算后的值,此方法相对于其他方法来说相对复杂,直接看例子,回调函数中的参数分别是init:上一次回调函数执行返回的值,首次执行则为reduce的第二个参数(如果存在)或数组的第一个值,cur:当前数组的值,i:当前数组值的索引,array:当前数组
var arr = [0, 1, 2, 3, 4, 5],
sum = arr.reduce(function (init, cur, i, array) {
console.log(init,cur,i)
return init + cur;
});
//output
0 1 1
1 2 2
3 3 3
6 4 4
10 5 5
sum // 15
以上就是本次所总结的一些数组的用法,其他方法请查看MDN提供的API说明Array
网友评论