总结数组的操作

7 篇文章 0 订阅
1. push 和 pop

<1> push

push: 数组后面添加一项或多项

Array.push(): 返回改变后数组的长度值

var arr = [1,2,3];
var arLen = arr.push(22,0);
arr     // [1, 2, 3, 22, 0]
arrLen  // 5   数组长度

<2> pop

pop: 数组后面仅且只能删除一项

Array.pop(): 返回删除的末尾项

var arr = [1,2,3];
// arr.pop(3)和arr.push() 执行的结果是一样的
var rmAr = arr.pop();
arr     // [1, 2]
rmAr  // 3   删除的值
2. unshift 和 shift

unshift、shift 的原理及返回值和上面的push、pop对应一模一样,只不过是操作数组前面的值。eg:

unshift: 数组前添加一项

Array.unshift(): 返回改变后数组的长度值

unshift: 
var arr = [1,2,3];
var arLen = arr.unshift(22,0);
arr     // [22, 0, 1, 2, 3]
arrLen  // 5   数组长度

shift:
var arr = [1,2,3];
// arr.shift(22,0) 和 arr.shift() 执行结果一样
var rmAr = arr.shift(22);
arr     // [0, 1, 2, 3]
rmAr  // 22   删除的值
3. slice

slice(start, end) 截取一段数组,返回截取出来的数组,原数组发生改变

start: 初始值的索引

end: 结束值的索引,但截取项的值不包含该end索引的值

var arr = [0, 8, 1, 3];
var newArr1 = arr.slice(1, 2),
    newArr2 = arr.slice(1, 3),
    newArr3 = arr.slice(1, arr.length);
newArr1   //  [8]  不包含索引为2的值
newArr2   //  [8, 1] 不包含索引为3的值
newArr3   //  [8, 1, 3]
4. splice

splice(start, len, e1, e2, …) 该方法用于插入、删除或替换数组的元素,原数组会发生改变。

start: 初始值的索引

len: 删除的长度

e1, e2, …: 从start开始新增的元素

1. len > 0,便有删除属性,返回删除的数组项(rmSpl1,rmSpl2),原数组(arr)删除或者删除并增加的新数组:
var arr = ["name", "me", 9, 0, 8, 1, 3, "jack", 56, 89, 4, "jack", 56, 89, 4];
var rmSpl1 = arr.splice(7, 4),
    rmSpl2 = arr.splice(7, 2, 'Mr zhao');
rmSpl1  //  ["jack", 56, 89, 4]  删除的新数组项
rmSpl2  //  ["jack", 56]
arr  // ["name", "me", 9, 0, 8, 1, 3, 'Mr zhao', 89, 4]

如果len< 0, 便是从start开始向前删除,返回值和上面是一样的。

2. len = 0,如果 e1, e2, …有值,则是增加,无值不做任何操作
var arr = ["name", "me", 9, 0, 8, 1, 3, "jack", 56, 89, 4];
var rmSpl = arr.splice(7, 0, 'Mr zhao', 'beijing');
rmSpl  //  []  len为0,所以是空数组,只有对数组进行删除的时候才有返回值
arr  //  ["name", "me", 9, 0, 8, 1, 3, "Mr zhao", "beijing", "jack", 56, 89, 4]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值