js数组的常用方法(对小白友好),你确定不看一下吗?--笔记篇

84 阅读3分钟

JS数组的一些常用方法

1.push()

Array.push(),向数组的末尾添加一个或多个元素,并返回新的数组的长度。原数组会发生改变。

var arr = [1, 2, 3, 4]
var res = arr.push(5)
//arr = [ 1, 2, 3, 4, 5 ]
//res = 5
var arr = [1, 2, 3, 4]
var res = arr.push(5,6,7,8)
//arr = [ 1, 2, 3, 4, 5, 6, 7, 8 ]
//res = 8

2.pop()

Array.pop(),删除并返回数组的最后一个元素,若数组为空,则返回undefined。原数组会发生改变。

var arr = [1,2,3,4]
var res = arr.pop()
//arr = [ 1, 2, 3 ]
//res = 4
var arr = []
var res = arr.pop()
//arr = []
//res = undefined

3.unshift()

Array.unshift(),向数组的开头添加一个或多个元素,并返回新的数组长度。原数组会发生改变。

var arr = [1,2,3]
var res = arr.unshift(0)
//arr = [ 0, 1, 2, 3 ]
//res = 4
var arr = [1,2,3]
var res = arr.unshift(0,9,6)
//arr = [ 0, 9, 6, 1, 2, 3 ]
//res = 6

4.shift()

Array.shift(),删除数组的第一项,并返回第一个元素的值。若数组为空,则返回undefined。原数组会发生改变。 数组不为空:

var arr = [1, 2, 3, 4]
var res = arr.shift()
//arr = [ 2, 3, 4 ]
//res = 1

删除的数组为空时:

var arr = []
var res = arr.shift()
//arr = []
//res = undefined

5.splice()

Array.splice(index,howmany,newElement1,newElement2...),用于添加或删除数组中的元素。从index位置开始删除howmany个元素,并将newElement1、newElement2...从index位置依次插入。删除元素时返回一个包含已删除元素的数组,若无删除元素则返回一个空数组。原数组会发生改变。 传一个参数i: i必须为整数,有兴趣的同学也可以试着传一个字符串,会有你意想不到的结果的。 当i为正整数时:从i位置开始删除后面的所有元素 当i为负整数时:索引从后往前计算,最后一位索引是 -1,倒数第二位是 -2,依次类推。删除 i及 i之后的所有元素。

var arr= [1, 2, 3, 4]
var res = arr.splice(2)
//arr= [ 1, 2 ]
//res = [ 3, 4 ]

传两个参数i,j: 两个参数必须均为整数。表示从数组中索引为 i 开始删除,一共删除 j 个元素。

var arr= [1, 2, 3, 4]
var res = arr.splice(2,1)
//arr= [1, 2, 4]
//res = [ 3 ]

传三个或三个以上的参数i,j,e1,e2...: i:整数,表示索引的起始位置 j:整数,表示删除的个数 e1、e2、...:删除相应元素之后要添加的元素

var arr= [1, 2, 3, 4]
var res = arr.splice(2,1,5)
//arr= [1, 2, 5, 4]
//res = [ 3 ]

6.reverse()

Array.reverse(),将数组倒序。返回值与改变后得到原数组相同。原数组会发生改变。

var arr = [1, 2, 3, 4]
var res = arr.reverse()
//arr = [ 4, 3, 2, 1 ]
//res = [ 4, 3, 2, 1 ]

7.sort()

Array.sort(),对数组元素进行排序。按照字符串UniCode码排序,默认为升序排列,返回值为排序后的数组。原数组会发生改变。 升序:

var arr = [2, 5, 8, 0]
var res = arr.sort((a,b) => {
    return a - b
})
//arr = [ 0, 2, 5, 8 ]
//res = [ 0, 2, 5, 8 ]

降序:

var arr = [2, 5, 8, 0]
var res = arr.sort((a,b) => {
    return b - a
})
//arr = [ 8, 5, 2, 0 ]
//res = [ 8, 5, 2, 0 ]

8.concat()

Array.concat(),合并两个或多个数组,生成一个新的数组。原数组不发生改变。

var arr = [1, 2, 3, 4, 5]
var arr1 = [6, 7, 8, 9, 10]
var arr2 = ["a", "b"]

var res = arr.concat(arr1,arr2)
//arr = [ 1, 2, 3, 4, 5 ]
//res = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "a", "b"]

9.join()

Array.join(),将数组的每一项用指定字符连接形成一个字符串。默认连接字符为 “,” 逗号。原数组不发生改变。

var arr = [1, 2, 3, 4, 5]
var res1 = arr.join()
var res2 = arr.join("-")
//arr = [ 1, 2, 3, 4, 5 ]
//res1 = 1,2,3,4,5
//res2 = 1-2-3-4-5

10.slice()

Array.slice(i, j) 表示将数组/字符串从 [i, j)(分界是前开后闭)切片,然后返回取出的片段。原数组不发生改变。

var arr = [1, 2, 3, 4, 5]
var res = arr.slice(1,3)
// arr = [1, 2, 3, 4, 5]
// res = [2,3]