如題荸百,以下總結(jié)的都是日常當(dāng)中使用到的數(shù)組的一些方法竟坛,平時(shí)的寫法哪自,如覺得不妥或有更好的實(shí)現(xiàn)方式希望能夠指正灾测。那么爆价,都有呢些方法是常用的呢:
- forEach
- map
- filter
- reduce
forEach
用途:循環(huán)遍歷數(shù)組
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
用途:將數(shù)組按照一定的規(guī)則,最后返回一個(gè)新的數(shù)組媳搪,對(duì)原數(shù)組沒有影響
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
用途:把給定的數(shù)組根據(jù)給出的條件返回一個(gè)新的數(shù)組铭段,回調(diào)函數(shù)中的返回值為true時(shí),返回當(dāng)前數(shù)組的值
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
用途:返回計(jì)算后的值秦爆,此方法相對(duì)于其他方法來說相對(duì)復(fù)雜序愚,直接看例子,回調(diào)函數(shù)中的參數(shù)分別是init:上一次回調(diào)函數(shù)執(zhí)行返回的值,首次執(zhí)行則為reduce的第二個(gè)參數(shù)(如果存在)或數(shù)組的第一個(gè)值等限,cur:當(dāng)前數(shù)組的值爸吮,i:當(dāng)前數(shù)組值的索引,array:當(dāng)前數(shù)組
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
以上就是本次所總結(jié)的一些數(shù)組的用法望门,其他方法請查看MDN提供的API說明Array