filter():返回该函数会返回true的项组成的数组
1 var num = [1,2,3,2,1]; 2 var result = num.filter(function(item,index,array){ 3 return (item > 2); 4 }) 5 console.log(result);//[3]
map():返回每次调用结果组成的数组
1 var num = [1,2,3,2,1]; 2 var result = num.map(function(item,index,array){ 3 return (item > 2); 4 }) 5 console.log(result);// [false,false,true,false,false]
reduce():迭代从数组的第一项到最后一项
1 //求和 2 var val = [1, 2, 3] 3 var sum = val.reduce(function(pre, cur, index, array) { 4 return pre + cur; 5 }) 6 console.log(sum); //6 7 8 9 //数组扁平化 10 var arr = [ 11 [0, 1], 12 [2, 3], 13 [4, 5] 14 ].reduce(function(pre, cur) { 15 return a.concat(b); 16 }); 17 // arr 为 [0, 1, 2, 3, 4, 5]
sort:对数组的元素进行排序。
1 var mymarry = [6, 7, 9, 1, -1]; 2 var sortAsc = function(x, y) { 3 return x - y; 4 }; 5 var sortDesc = function(x, y) { 6 return y - x; 7 }; 8 mymarry.sort(sortAsc); //正序 9 mymarry.sort(sortDesc); //倒序
.indexOf():从数组开头开始向后查,返回查找的项在数组中的位置,没有找到返回-1。
1 //数组去重 start 2 function unique(arr) { 3 var result = []; 4 for (var i = 0; i < arr.length; i++) { 5 if (result.indexOf(arr[i]) == -1) result.push(arr[i]); 6 } 7 return result; 8 }
数组中对应的每一项相加
1 var list = [{ 2 number: [1, 2, 3, 4] 3 }, { 4 number: [1, 2, 3, 4, 5] 5 }, { 6 number: [1, 2, 3, 4] 7 }, { 8 number: [1, 2, 3, 4, 5] 9 }]; 10 var arr = []; 11 for (var i in list) { 12 if (arr.length) { 13 for (var x in list[i].number) { 14 if (!arr[x]) { 15 arr[x] = 0; 16 } 17 arr[x] = arr[x] + list[i].number[x]; 18 } 19 } else { 20 arr = list[i].number; 21 } 22 } 23 console.log(arr);
参考:https://segmentfault.com/a/1190000003977377
给出一篇对Array操作很全的文章:http://www.cnblogs.com/onepixel/p/5123115.html