js 数组函数

js相关的数组函数

1 concat() 方法用于连接两个或多个数组。

  • 语法
    arrayObject.concat(arrayX,arrayX,……,arrayX)
  • 返回值
    返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。
<script type="text/javascript">

var a = [1,2,3];
document.write(a.concat(4,5));

</script>

输出:
1,2,3,4,5

2 join() 方法用于把数组中的所有元素放入一个字符串。

  • 语法
    arrayObject.join(separator)
  • 返回值
    返回一个字符串。该字符串是通过把 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 push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

  • 语法
    arrayObject.push(newelement1,newelement2,….,newelementX)
  • 返回值
    把指定的值添加到数组后的新长度。
<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

4 pop() 方法用于删除并返回数组的最后一个元素。

  • 语法
    arrayObject.pop()
  • 返回值
    pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。
<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

5 shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

  • 语法
    arrayObject.shift()
  • 返回值
    如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。
<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

6 unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

  • 语法
    arrayObject.unshift(newelement1,newelement2,….,newelementX)
  • 返回值
    arrayObject 的新长度。
<script type="text/javascript">

var arr = new Array()
arr[0] = "George"

arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />")
document.write(arr.unshift("William") + "<br />")
document.write(arr)

</script>

输出:
George,John,Thomas
4
William,George,John,Thomas

7 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

  • 语法
    arrayObject.splice(index,howmany,item1,…..,itemX)
    参数 描述
    index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
    howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
    item1, …, itemX 可选。向数组添加的新项目。
  • 返回值
    Array
在本例中,我们将创建一个新数组,并向其添加一个元素:

<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
在本例中我们将删除位于 index 2 的元素,并添加一个新元素来替代被删除的元素:

<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,1,"William")
document.write(arr)

</script>

输出:
George,John,Thomas,James,Adrew,Martin
George,John,William,James,Adrew,Martin
在本例中我们将删除从 index 2 ("Thomas") 开始的三个元素,
并添加一个新元素 ("William") 来替代被删除的元素:

<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,3,"William")
document.write(arr)

</script>

输出:
George,John,Thomas,James,Adrew,Martin
George,John,William,Martin

8 sort() 方法用于对数组的元素进行排序。

  • 语法
    arrayObject.sort(sortby)
  • 返回值
    对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
<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
在本例中,我们将创建一个数组,并按字母顺序进行排序:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort())

</script>

输出:
10,5,40,25,1000,1
1,10,1000,25,40,5


请注意,上面的代码没有按照数值的大小对数字进行排序,
要实现这一点,就必须使用一个排序函数:

<script type="text/javascript">

function sortNumber(a,b)
{
return a - b
}

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort(sortNumber))

</script>

输出:
10,5,40,25,1000,1
1,5,10,25,40,1000

9 reverse() 方法用于颠倒数组中元素的顺序。

  • 语法
    arrayObject.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

10 slice() 方法可从已有的数组中返回选定的元素。

  • 语法
    arrayObject.slice(start,end)
  • 返回值
    返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
<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

11 toString() 方法可把数组转换为字符串,并返回结果。

  • 语法
    arrayObject.toString()
  • 返回值
    arrayObject 的字符串表示。返回值与没有参数的 join() 方法返回的字符串相同。
<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

总结

对于数组函数中,添加元素的函数(push,unshift)返回值是数组长度,相反的,删除元素的函数(pop,shift)返回值是元素。

猜你喜欢

转载自blog.csdn.net/chen_enson_1/article/details/81777377