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

来源:互联网 发布:西安爱知 编辑:程序博客网 时间:2024/06/06 00:36

今早看到一篇关于一道面试题(原文链接),发现评论区有人使用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