JS操作数组之增删改查总结

万能方法:splice()

向数组指定位置添加任意数量的元素
用法:传入至少3个参数:
1:增加时,起始位置、要删除的元素个数、要添加的元素,第二个参数传0
2:删除时,起始位置、要删除的元素个数,第二个参数传要删除的个数
3:改,参考增加和删除

let arr = [-2, -1, 0, 1, 2, 3]
arr.splice(3,0,0.2,0.4,0.6,0.8)
console.log(arr) // [-2, -1, 0, 0.2, 0.4, 0.6, 0.8, 1, 2, 3]
arr.splice(2,4); // 从索引项为2的位置开始删除4个元素
console.log(arr); // [-2, -1, 0.8, 1, 2, 3]
增加:

1、push():可接收任意数量的参数,把它们逐个添加至数组末尾,并返回修改后数组的长度

let arr = [];
let len = arr.push(1);
console.log(arr); // [1] // 改变之后的数组
console.log(len); // 1 返回长度

2、unshift():可接收任意数量的参数,将参数逐个添加至数组前端,同样返回新数组长度

let arr = [1,2,3]
let len = arr.unshift(0)
console.log(arr) // [0, 1, 2, 3]
console.log(len) // 4 返回长度

3、concat():将元素添加至数组末尾,返回一个新的数组
① 不传参数,返回当前数组副本
② 传递一或多个数组,则该方法会将这些数组中的每一项都添加到结果数组中
③ 传递非数组参数,这些参数就会被直接添加到结果数组的末尾

let arr = [-2, -1, 0, 1, 2, 3]
var arr1 = arr.concat(4,[5,6])
console.log(arr)  // [-2, -1, 0, 1, 2, 3]
console.log(arr1)  // [-2, -1, 0, 1, 2, 3, 4, 5, 6]
删除:

1、pop():从数组末尾删除最后一项返回该项('即:删除项')

2、shift():删除数组第一项并返回该项

3、slice():裁剪数组,返回裁剪下来的数组,接受一或两个参数,即要返回项的起始和结束位置(不包含结束位置)

let arr = [-1, 0, 0.2, 0.4, 0.6, 0.8, 1, 2]
var arr2 = arr.slice(2,6);
console.log(arr); // [-1, 0, 0.2, 0.4, 0.6, 0.8, 1, 2]
console.log(arr2); // [0.2, 0.4, 0.6, 0.8]
更改:参考万能方法splice()
查询:

1、indexOf()和lastIndexOf():接收两个参数:要查找的项和(可选的)表示查找起点位置的索引
①indexOf()从数组的开头(位置0)开始向后查找
②lastIndexOf()方法则从数组的末尾开始向前查找
③找不到该元素时,返回 -1

var index = arr.indexOf(0);
console.log(index);  // 1
index = arr.indexOf(3,0);
console.log(index);  // -1

重要:

一、不改变原数组的方法

concat(): 连接数组,返回新的数组。
slice(): 截取数组,以索引为届,左闭右开。
split(): 把一个字符串分割成字符串数组。如: ‘a&b&c’.split("&") ==> [a,b,c]
join(): 将数组内的元素用某个符号连接起来。如:[a,b,c].join("-") ==> “a-b-c”
toString(): 直接把数组转为字符串格式,逗号分开。效果同 arr.join(",")
ES6中的解构: newArr=[…a,…b],可以连接若干个数组,原数组不改变。

二、改变原数组的方法

原数组经过这些方法操作之后得到的新结果,即为原数组本身。

push(): 在数组末尾追加一个元素,返回数组长度。
pop(): 在数组末尾删除一个元素,返回被去掉的元素。
length末尾追加: 在数组末尾追加元素的另一种方法,即arr[arr.length],返回被添加的元素。
unshift(): 在数组头部添加一个元素,返回添加的元素。
shift(): 在数组头删除一个元素,返回被删除的元素。
splice(): 用于在指定位置添加、删除、替换元素。
(1) 删除 arr.splice(index,len): 从索引index处(包括index,该方法都包括index本身,后面不赘述),删除长度为len个元素,返回被删除的元素组成的数组。若只写了index,没有第二个参数,则从index处开始删除后面所有元素。
(2) 添加 arr.splice(index,0,...items): 从index处添加若干元素,返回[ ]空数组。(可以理解为被替换的元素是空)arr.splice(arr.length,0,[1,2,3]): 连接数组,在末尾追加一个数组[1,2,3]给原数组。
(3) 替换 arr.splice(index,len,...items): 从索引index开始,替换 len 个元素,用 items 去代替。若len超过了要替换的元素,则后面多余的全部被删除。返回被替换的元素组成的数组。
sort() : 排序方法,按字符串顺序升序排的。正确顺序(升序): arr.sort((a,b)=>a-b),当a-b返回负值时,函数会把a排序为比100更小的值。如 10-20= -10
reverse(): 反转数组,颠倒原来的顺序,返回改变后的新数组。
Array.prototype.push.apply(arr1,arr2): 在原型上连接数组,将arr2连接在arr1的尾部,参数只能为2个,多了无效。返回数组长度,arr1被改变,arr2不变。 arr1.push.apply(arr1,arr2) 效果相同。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值