很火的ES5(js数组函数)初体验

36 篇文章 0 订阅

今早看到一篇关于一道面试题(原文链接),发现评论区有人使用ES5中的方法来解决,我发现此方法比传统的js方法更简单于是查找了相关资料加以了解。

 ES5中新增的不少东西,了解之对我们写JavaScript会有不少帮助,比如数组这块,我们可能就不需要去有板有眼地for循环了。

ES5中新增了写数组方法,如下:

  1. forEach (js v1.6)
  2. map (js v1.6)
  3. filter (js v1.6)
  4. some (js v1.6)
  5. every (js v1.6)
  6. indexOf (js v1.6)
  7. lastIndexOf (js v1.6)
  8. reduce (js v1.8)
  9. reduceRight (js v1.8)

浏览器支持

  • Opera 11+
  • Firefox 3.6+
  • Safari 5+
  • Chrome 8+
  • Internet Explorer 9+


上面上代码(有注释):
        var sum = 0;
        [1,2,3,4].forEach(function(item,index,array){  //ECMA5的新方法类似jquery的$.each
            console.log(array[index] == item);
            sum += item;
            console.log(sum);
        });
        var array =[1,2,3,4].map(function(item){  //map映射一个新的数组
            return item * item;
        });
        console.log(array);

        var data = [0, 1, 2, 3];
        var arrayFilter = data.filter(function(item) {  //filter过滤数组
            return item;
        });
        console.log(arrayFilter); // [1, 2, 3]

        var sum = [1, 2, 3, 4].reduce(function (previous, current, index, array) { //迭代
            return previous + current;
        });

        console.log(sum); // 10


这里我只尝试了几个个人觉得比较有用的方法,还有几个方法我没有尝试,有兴趣的朋友可以都去试一下这些方法都有什么功能。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值