JavaScript—数组方法

95 阅读3分钟

Array

concat():链接两个或更多的数组,并返回结果

const arr = arrayObject.concat(arrayX, arrayX, ..., arrayX)

join():把数组转为字符串

const str = arrayObject.join(separator)

slice():从某个已有的数组返回选定的元素

const arr = arrayObject.slice(start, end)

添加元素

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

var arr = [1,2,3]
var str = arr.push(4) => 返回值长度: 4原数组: 1,2,3,4
var str = arr.push(4,5,6) => 返回值长度: 6原数组: 1,2,3,4,5,6 

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

var arr = [1,2,3]
var str = arr.unshift(4) => 返回值长度: 4原数组: 4,1,2,3
var str = arr.unshift(4,5,6) => 返回值长度: 6原数组: 4,5,6,1,2,3 

删除元素

pop():删除并返回数组的最后一个元素

var arr = [1,2,3]
var arr1 = [ ]
var str = arr.pop( ) => 返回最后一个被删除的元素: 3原数组: 1,2
var str = arr1.pop( ) => 空数组返回: undefined原数组: [ ] 

shift():删除并返回数组的第一个元素

var arr = [1,2,3]
var arr1 = [ ]
var str = arr.shift( ) => 返回第一个被删除的元素: 1原数组: 2,3
var str = arr1.shift( ) => 空数组返回: undefined原数组: [ ] 

splice():删除元素,并向数组添加新元素

var arr = [1,2,3,4]
var str = arr.splice(0,2) => 返回包含被删除元素的数组: 1,2原数组: 3,4
var str = arr.splice(1,2,'a','b','c') => 返回包含被删除元素的数组: 2,3原数组: 1,a,b,c,4 

排序

sort():对数组的元素进行排序

var arr = [3,1,2]
var str = arr.sort() => 返回改变后的数组: 1,2,3原数组: 1,2,3 

reverse():颠倒数组中元素的顺序

var arr = [1,2,3]
var str = arr.reverse( ) => 返回改变后的数组: 3,2,1原数组: 3,2,1 

搜索

indexOf():搜索数组中的元素,并返回它所在的位置

const arr = [ 1, 2, 3 ]
arr.indexOf(3) // 存在 => 2
arr.indexOf(4) // 不存在 => -1

lastIndexOf():搜索数组中的元素,并返回它最后出现的位置

const arr = [ 1, 2, 3 ]
arr.lastIndexOf(3) // 存在 => 2
arr.lastIndexOf(4) // 不存在 => -1

includes():判断一个数组是否包含一个指定的值

const arr = [ 1, 2, 3 ]
const bool = arr.includes(2) // => true
const bool = arr.includes(4) // => false

迭代对象

entries():返回数组的可迭代对象(key,value)

for (var v of arr.entries( )) {
    const key = v[ 0 ]
    const value = v[ 1 ]
}

keys():返回数组的可迭代对象,包含原始数组的键(key)

for (var v of arr.keys( )) {
    const key = v
}

values():返回数组的可迭代对象,包含原始数组的值(value)

for (var v of arr.values( )) {
    const value = v
}

其它

toString():把数组转换为字符串,并返回结果

var arr = [1,2,3]
var str = arr.toString( ) => 1,2,3,4 

toLocaleString():把数组转换为本地数组,并返回结果

var arr = [1,2,3]
var str = arr.toLocaleString( ) => 1,2,3,4 

valueOf():返回数组对象的原始值

var arr = [1,2,3]
var str = arr.valueOf( ) => 1234 

copyWithin():从数组的指定位置拷贝元素到数组的另一个指定位置中

const arr = [ 1, 2, 3, 4, 5 ]
const newArr = arr.copyWithin(3, 0, 2) // => [1, 2, 1, 2, 5]

Array.x

from():通过给定的对象中创建一个数组

# 数组去重
const arr = Array.from(new Set([1,2,2,3])) // => [1,2,3]
# map 功能
const arr = Array.from([1,2,3], x => x * 10) // => [10,20,30]

isArray():判断对象是否为数组

const bool = Array.isArray({ }) // => false
const bool = Array.isArray([ ]) // => true