1 数组的高阶方法
1.1 forEach()遍历
var arr=[1,2,3,4];
str.forEach(function(item,index,self){
console.log("元素",item,"索引",index,"自身",self);
})
1.2 map 映射
var arr=[1,3,5];
var arr1=str.map(function(item,index,self){
console.log("元素",item,"索引",index,"自身",self);
return item*2
})
console.log(arr1);
1.3 filter 过滤
- 返回一个数组。
- 如果回调函数返回true 当前元素保留,如果返回false,当前元素被过滤。
var arr1 = [1, 3, 50, 39, 18];
var arr2 = arr1.filter(function(item) {
//1.第一个方法
// if (item>20) {
// return true;
// } else{
// return false;
// }
//2.第二个方法
return item > 20;
})
console.log("arr1", arr1);
console.log("arr2", arr2);
1.4 reduce 累计
- 实现对数组值进行累加。
- a b 两个参数, a 是上一个返还的结果。
var arr =[2,3,4];
var ret=arr.reduce(function(a,b){
return a+b;
})
console.log(ret)
1.5 some 存在一个
- 如果有一个存在则返回true,反之返回false。
var arr=[2,3,4,5,100,50];
var so=arr.some(function(item){
return item>10
})
console.log(so)
1.6 every 每一个
var arr=[2,3,4,5,100,50];
var ev=arr.every(function(item){
return item<10;
})
console.log(ev)
1.7 sort() 排序
var arr =[1,17,20,2,55];
arr.sort(function(a,b){
return a-b;
})
console.log(arr)
var arr=[{age:15},{age:2},{age:43}]
arr.sort(function(a,b){
return a.age-b.age;
})
console.log(arr)
var arr =[1,17,20,2,55];
arr.sort(function(a,b){
return b-a;
})
console.log(arr)