数组方法详解

数组原生api之一——添加/删除元素

1、push:
arr.push(…items) — 从结尾添加元素

var arr = [1, 2, 3, 4, 5]
var arrPush = arr.push(11) // 改变原数组arr,在原数组末尾追加;并返回改变后的arr的length
console.log(arr) // [1, 2, 3, 4, 5, 11]
console.log(arrPush) // 6
// 可以一次追加多个值
var arrPush2 = arr.push(...[9, 8, 7, 6])
console.log(arrPush2) // 10
console.log(arr) // [9, 8, 7, 6, 1, 2, 3, 4, 5, 11]

2、pop:
arr.pop() — 从结尾提取元素

var arr = [1, 2, 3, 4, 5]
var arrPop = arr.pop() // 原数组删除最后一项,返回提取项
console.log(arr) // [1, 2, 3, 4]
console.log(arrPop) // 5

3、shift:
arr.shift() — 从开头提取元素

var arr = [1, 2, 3, 4, 5]
var arrShift= arr.shift() // 原数组删除第一项,返回删除项
console.log(arr) // [2, 3, 4, 5]
console.log(arrShift) // 1

4、unshift:
arr.unshift(…items) — 从开头添加元素

var arr = [1, 2, 3, 4, 5]
var arrUnshift= arr.unshift(0) // 原数组在最前面插入,返回改变后数组length
console.log(arr) // [0, 1, 2, 3, 4, 5]
console.log(arrUnshift) // 9
// 插入多个值
var arrUnshift2= arr.unshift(...[9, 8, 7, 6])

5、slice:arr.slice(start, end)
从start开始复制到end,不包括end。(与String中的slice参数及用法相同)
不改变原数组!!!

var arr = [1, 2, 3, 4, 5]
var newArr = arr.slice(0,3)
console.log(arr) // [1, 2, 3, 4, 5] 原数组不变
console.log(newArr) // [1, 2, 3] 返回复制的数组(不包括end)

6、splice :arr.splice(idnex[, deleteCount, elem1, …, elemN])
从索引为 index 的位置开始删除 deleteCount 个元素,并在删除位置插入 elem1, …, elemN。返回删除元素的数组会修改原数组
替换值

var arr = [0, 1, 2, 3, 4, 5, 6]
console.log(arr.splice(3, 2 , 'aaa')) // [3, 4]
console.log(arr) // [0, 1, 2, 'aaa', 5, 6]

单纯插入值

var arr = [0, 1, 2, 3, 4, 5, 6]
console.log(arr.splice(3, 0 , 'aaa')) // []
console.log(arr) // [0, 1, 2, 'aaa', 3, 4, 5, 6]

单纯删除操作

// deleteCount 为可选参数, 
// deleteCount 为空时,从index开始截取后面所有数据
var arr = [0, 1, 2, 3, 4, 5, 6]
var tempArr = arr.splice(5)
console.log(arr) // [0, 1, 2, 3, 4] 修改原数组
console.log(tempArr) // [5, 6] 返回截取数组
// deleteCount 有值时
console.log(arr.splice(0, 1)) // [0]
console.log(arr) // [1, 2, 3, 4]
// index 为负值,无论值为多少都从最后一位开始向前截取
console.log(arr.splice(-2, 1)) // [4]
console.log(arr) // [1, 2, 3]

7、concat:将当前数组与其他数组或元素结合在一起(任意元素)
原数组不变,返回一个新数组

var arr = [1, 2, 3, 4, 5]
var newArr = arr.concat([1, 2]) // 可以是数组
var newArr1 = arr.concat([1], 123) // 可以是元素
var newArr2 = arr.concat([1, 2], [90]) // 可以是多个参数
console.log(arr) // [1, 2, 3, 4, 5]
console.log(newArr) // [1, 2, 3, 4, 5, 1, 2]
console.log(newArr1) // [1, 2, 3, 4, 5, 1, 123]
console.log(newArr2) // [1, 2, 3, 4, 5, 1, 2, 90] 

数组的添加、删除就到这里了,下一章总结下 查询元素 和 转换数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值