JS中部分 Array 对象方法介绍

时间:2022-05-17 15:18:57

1.concat()

concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本

<script type="text/javascript">

var a = [1,2,3];
document.write(a.concat(4,5)); </script> 输出:
1,2,3,4,5

2.join()

join() 方法用于把数组中的所有元素(元素是通过指定的分隔符进行分隔的)放入一个字符串。

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

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas" document.write(arr.join()) </script> 输出:
George,John,Thomas

3.pop()

pop() 方法用于删除并返回数组的最后一个元素。删除将会改变数组的长度!

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas" document.write(arr) document.write("<br />") document.write(arr.pop()) document.write("<br />") document.write(arr) </script> 输出:
George,John,Thomas
Thomas
George,John

4.shift()

与pop()方法对应,shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。而且也将改变数组的长度!

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas" document.write(arr + "<br />")
document.write(arr.shift() + "<br />")
document.write(arr) </script> 输出:
George,John,Thomas
George
John,Thomas

5.push()

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas" document.write(arr + "<br />")
document.write(arr.push("James") + "<br />")
document.write(arr) </script> 输出:
George,John,Thomas
4
George,John,Thomas,James

6.reverse()

reverse() 方法用于颠倒数组中元素的顺序。该方法会改变原来的数组,而不会创建新的数组。

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas" document.write(arr + "<br />")
document.write(arr.reverse()) </script> 输出:
George,John,Thomas
Thomas,John,George

7.slice()

slice() 方法可从已有的数组中返回选定的元素。该方法并不会修改数组,而是返回一个子数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas" document.write(arr + "<br />")
document.write(arr.slice(1) + "<br />")
document.write(arr) </script> 输出:
George,John,Thomas
John,Thomas
George,John,Thomas

8.sort()

sort() 方法用于对数组的元素进行排序。对数组的引用。请注意,数组在原数组上进行排序,不生成副本。

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。

若 a 等于 b,则返回 0。

若 a 大于 b,则返回一个大于 0 的值。

需要注意的是:此方法比较的是元素首字母的ASCII编码,所以有时候排序会跟想的不太一样。

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin" document.write(arr + "<br />")
document.write(arr.sort()) </script> 输出:
George,John,Thomas,James,Adrew,Martin
Adrew,George,James,John,Martin,Thomas

9.splice()

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目,该方法会改变原始数组。

splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin" document.write(arr + "<br />")
arr.splice(2,0,"William")
document.write(arr + "<br />") </script> 输出:
George,John,Thomas,James,Adrew,Martin
George,John,William,Thomas,James,Adrew,Martin

10.toString()

toString() 方法可把数组转换为字符串,并返回结果。返回值与没有参数的 join() 方法返回的字符串相同。

当数组用于字符串环境时,JavaScript 会调用这一方法将数组自动转换成字符串。但是在某些情况下,需要显式地调用该方法。

数组中的元素之间用逗号分隔。

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas" document.write(arr.toString()) </script> 输出:
George,John,Thomas