zoukankan      html  css  js  c++  java
  • Array常用方法

    1、Array.join( )

    方法join()将把每个数组元素转换成一个字符串,然后把这些字符串连接起来,在两个元素之间插入指定的separator字符串。返回生成的字符串。 可以用String对象的split()方法执行相反的操作,即把一个字符串分割成数组元素。

    返回值是—个字符串,通过把array的每个元素转换成字符串,然后把这些字符串连接起来,在两个元素之间插入separator字符串而生成。

    试一试:

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href="../css/"/>
    
    </head>
    <body>
    
    
    <script type="text/javascript">
        var a = new Array(1, 2, 3, "testing");
    
        var s = a.join("+");  
        alert(s);
        // s 是字符串"1+2+3+testing"
    </script>
    </body>
    </html>  
    

    2、Array.push( )

    方法push()将把它的参数顺次添加到array的尾部。它直接修改array,而不是创建——个新的数组。方法push()和方法pop()用数组提供先进后出栈的功能。参阅 “Array.pop()”中的示例。Bug 在JavaScript的Netscape实现中,如果把语言版本明确地设置为1.2,该函数将返回最后添加的值,而不是返回新数组的长度。

    返回值是把指定的值添加到数组后的新长度。

    试一试:

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href="../css/"/>
    
    </head>
    <body>
    
    
    <script type="text/javascript">
        var a = new Array(1, 2, 3, "testing");
    
         a.push("hahaha");
        alert(a);
        // 结果是1, 2, 3, "testing",“hahaha”
    </script>
    </body>
    </html>  
    

    3、Array.sort( )

    方法sort()将在原数组上对数组元素进行排序,即排序时不创建新的数组副本。如果调用方法sort()时没有使用参数,将按字母顺序(更为精确地说,是按照字符编码的顺序)对数组中的元素进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如果有必要的话),以便进行比较。 如果想按照别的顺序进行排序,就必须提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数a和b,其返回值如下: 如果根据你的评判标准,a小于b,在排序后的数组中a应该出现在b之前,就返回一个小于0的值。 如果a等于b,就返回0。 如果a大于b,就返回一个大于0的值。 注意,数组中undefined的元素都排列在数组末尾。即使你提供了自定义的排序函数也是这样,因为undefined值不会被传递给你提供的orderfunc。

    返回值是数组在原数组上进行排序,不制作副本。

    试一试:

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href="../css/"/>
    
    </head>
    <body>
    
    
    <script type="text/javascript">
        // 按照数字顺序排序的排序函数
    
        function numberorder(a, b) { return a - b; }
    
    
    
        a = new Array(33, 4, 1111, 222);
    
        alert(a.sort(  ));             // 按照字母顺序的排序结果为: 1111, 222, 33, 4
    
        alert(a.sort(numberorder));    // 按照数字顺序的排序结果为: 4, 33, 222, 1111
    
    </script>
    </body>
    </html>  
    

    4、Array.toString( )

    数组的toString()方法将把数组转换成一个字符串,并且返回这个字符串。当数组用于字符串环境中时,JavaScript会调用这一方法将数组自动转换成一个字符串。但在某些情况下,需要明确地调用这个方法。 toString()在把数组转换成字符串时,首先要将数组的每个元素都转换成字符串 (通过调用这些元素的toString()方法)。当每个元素都被转换成字符串时,它就以列表的形式输出这些字符串,字符串之间用逗号分隔。返回值与没有参数的join() 方法返回的字符串相同。 Bug 在Netscape实现中,如果把语言版本明确地设置为1.2,toString()将会返回用逗号和空格分隔的数组元素列表,这个列表采用数组直接量表示法,用方括号括起元素。例如,在把<script>标记的language性质明确地设置为“JavaScript l.2”时,就会发生这种情况。

    返回值是array的字符串表示。

    试一试:

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href="../css/"/>
    
    </head>
    <body>
    
    
    <script type="text/javascript">
        // 按照数字顺序排序的排序函数
    
        function numberorder(a, b) { return a - b; }
    
    
    
        a = new Array(33, 4, 1111, 222);
    
        alert(typeof  a.toString(  ));//结果是string
    
    </script>
    </body>
    </html>   
    

    5、Array.unshift( )

    方法unshift()将把它的参数插入array的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组新的元素0,如果还有第二个参数,它将成为新的元素1,以此类推。注意,unshift()不创建新数组,而是直接修改原有的数组。

    返回值是数组的新长度。

    试一试:

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href="../css/"/>
    
    </head>
    <body>
    
    
    <script type="text/javascript">
       // 方法unshift()通常和方法shift()一起使用。例如:
    
        var a = [];             // a:[]
    
        alert(a.unshift(1));           // a:[1]          返回 1
    
        alert(a.unshift(22));          // a:[22,1]       返回 2
    
        alert(a.shift(  ));            // a:[1]          返回 22
    
        alert(a.unshift(33,[4,5]));    // a:[33,[4,5],1] 返回 3
    
    
    </script>
    </body>
    </html>
    

    6、Array.shift( )

    方法shift()将把array的第—个元素移出数组,返回那个元素的值,并且将余下的所有元素前移一位,以填补数组头部的空缺。如果数组是空的,shift()将不进行任何操作,返回undefined。注意,该方法不创建新数组,而是直接修改原有的数组。 方法shift()和方法Array.pop()相似,只不过它在数组头部操作,而不是在尾部操作。该方法常常和unshift()一起使用。

    数组原来的第一个元素。

    试一试:

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href="../css/"/>
    
    </head>
    <body>
    
    
    <script type="text/javascript">
        var a = [1, [2,3], 4]
    
        alert(a.shift(  ));  // 返回 1; a = [[2,3], 4]
    
        alert(a.shift(  ));  // 返回 [2,3]; a = [4]
    
    
    </script>
    </body>
    </html>
  • 相关阅读:
    我是一个垃圾程序员
    前谷歌高管给初入职场新人的14条忠告
    儿童节过完了
    两块网卡实现多台机器共享上网
    Python下载prettyloaded的swf
    关于mysql的1067与1045错误
    不使用定时器实现iframe的自适应高度
    JavaScript的大数阶乘
    两道函数式编程题
    字符串比较
  • 原文地址:https://www.cnblogs.com/haonantong/p/4644055.html
Copyright © 2011-2022 走看看