ES5数组的高阶方法

ES5数组的高阶方法

forEach 遍历
 var arr = ["good", "luck", "hello", "world"];
    //=============forEach方法
    var a = arr.forEach(function(item, index, self) {
    console.log(item); //数组的每一个值
    console.log(index); //下标值
    console.log(self); // 数组本身
    })
map映射
 var arr = ["good", "luck", "hello", "world"];
    //=============map方法
    var a = arr.map(function(item, index, self) {
    console.log(item); //数组的每一个值
    console.log(index); //下标值
    console.log(self); // 数组本身
  
    })


  //  map 和forEach的区别:map有返回值,forEach无返回值;
filter 过滤
array.filter(function(item,index,self){

})

filter方法创建一个新的数组 ,新数组中的元素是通过检查指定数组中符合条件的所有元素,主要用于筛选数组
注意它直接返回一个新数组
item: 数组当前项的值
index :数组当前项的索引
self :数组对象本身
reduce 累计
  var arr = [1, 8, 9, 45];
        var sum = arr.reduce(function(a, b) {
            return a + b;
        })
        console.log(sum); //63
//a,b两个参数 上一次计算结果是这一次的a
every 每个
var arr = [1, 8, 9, 45];
var num = arr.every(function(item) {
 
           return item >5
        })
       console.log(num);

//全部满足才返回true
some 有一个
var arr = [1, 8, 9, 45];
var num2 = arr.some(function(item) {
           return item > 5
        })
       console.log(num2);

●some 方法用于检测数组中的元素是否满足指定条件.通俗点就是查找数组中是否有满足条件的元素
●注意它返回值是布尔值如果查找到这个元素,就返回true,如果查找不到就返回false.
●如果找到第一个满足条件的元素,则终止循环不在继续查找.
sort排序
var arr = [12, 85, 98, 56];
       arr.sort(function(a, b) {
           return a - b;
       })
       console.log(arr); //[12,56,85,98]
//sort()
	无参数
		按照首个字符的Unicode编码值进行排序
	有参数
		按照参数指定的顺序进行排序
var arr1 = [{age: 48}, {age: 12}, {age: 89}];
        arr1.sort(function(a, b) {
            return a.age - b.age
        })
        console.log(arr1);//  [{age: 12}, {age: 48}, {age: 89}]
案例
求两个数组的交集,差集,并集
var arr1 = [1, 2, 3];
var arr2 = [2, 3, 4];
     // // 交集
     // var arr = arr1.filter(function(item) {
     //     if (arr2.indexOf(item) != -1) {
     //         return true
     //     } else {
     //         return false
     //     }
     // });
     // // 差集
     var arr = arr1.concat(arr2).filter(function(item) {
         return arr1.indexOf(item) == -1 || arr2.indexOf(item) == -1
     })
     console.log(arr);
     // var arr5 = [...arr3, ...arr4]
     // console.log(arr5);

     // // 并集
     // var arr6 = [...new Set([...arr1, ...arr2])]
     // console.log(arr6);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值