zoukankan      html  css  js  c++  java
  • Javascript新特性:数组的扩展

    在ECMAScript5中,为Array对象引入了一些新方法,下面简单列出:

    项的定位:indexOf()/lastIndexOf():

    <script type="text/javascript">
    var arr=[1,2,3,4,5,6,5,4,3,2,1];
    console.log(arr.indexOf(2));
    console.log(arr.lastIndexOf(2));
    </script>
    

    这两个方法均接受两个参数:要查找的项目以及可选的从何处开始查找的索引。

    迭代方法:

    every()--------在数组的每个元素上运行给定函数,如果给定函数对每个项都返回true,则返回true

    filter()---------在数组的每个元素上运行给定函数,并返回包含令给定函数返回true的那些元素

    forEach()-----在数组的每个元素上运行给定函数,该方法没有返回值。

    map()---------在数组的每个元素上运行给定函数并返回每次给定函数的返回值组成的数组

    some()--------在数组的每个元素上运行给定函数,如果给定函数在任意一个元素上返回true,则返回true.

    这些方法都接受两个参数:一个在各个项目上运行的函数和一个可选的在哪里运行函数的作用域对象。该函数接受三个参数:数组项目、数组项目在数组中的位置和数组对象自身。

    <script type="text/javascript">
    var arr=[1,2,3,4,5,6,5,4,3,2,1];
    var result1=arr.every(function(item,index,array){return item>2});
    var result2=arr.filter(function(item,index,array){return item>2});
    var result3=arr.map(function(item,index,array){return item>2});
    var result4=arr.some(function(item,index,array){return item>2});
    arr.forEach(function(item,index,array){console.log(item+=2);});
    console.log(result1);
    console.log(result2);
    console.log(result3);
    console.log(result4);
    console.log(arr);
    </script>
    

    在这些方法中,最相似的两个就是every()和some()了,他们都查询手足是否匹配某个条件。对于every(),传入的函数必须对每个参数都返回true,方法才能都返回true,否则,它返回false。相反,some()只要有哪怕一个元素让传入的参数返回true,则返回true.

    forEach()没有返回值,基本上等同于for循环迭代一个数组。

  • 相关阅读:
    我们工作到底为了什么
    阿里云是如何做好高并发的
    织梦cms PHPcms 帝国cms比较
    正确修改MySQL最大连接数的三种好用方案
    微信开发的几个小功能
    命令行下运行php的方法和技巧
    PHP去除连续空格
    ajax,django
    web框架,HTTP协议
    Django 模型Model层2
  • 原文地址:https://www.cnblogs.com/iRavior/p/2799376.html
Copyright © 2011-2022 走看看