标签:
方法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>
方法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>
方法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>
数组的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>
方法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>
方法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>
标签:
原文地址:http://www.cnblogs.com/haonantong/p/4644055.html