码迷,mamicode.com
首页 > 其他好文 > 详细

Array常用方法

时间:2015-07-13 23:44:16      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

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>

Array常用方法

标签:

原文地址:http://www.cnblogs.com/haonantong/p/4644055.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!