目录
  • 一、slice()
  • 二、splice()
  • 示例:
  • 附:提取数组中介于两个指定下标之间的字符
  • 总结

一、slice()

用法:array.slice([start], (end)), slice用于从指定值截取并返回新数组,但原数组结构不变

参数描述
start可选。规定从何处开始截取元素。slice(-2)代表倒数第二个元素到最后元素
end可选。规定从何处结束截取元素,不包含当前index,slice(-2,-1)指的是倒数第二个元素不包含最后一个元素

起始值可以为负数,-1为最后一个,end选填,但取不到end坐标的值,实际返回的数组长度等于end-start

二、splice()

用法:array.splice(index, howmany, item1,.....,itemX),可以删除数组中的项,也可以向数组中添加新的项

参数描述
index必需。规定从何处添加/删除元素。
howmany可选。规定应该删除多少元素。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
itemX可选。要添加到数组的新元素

示例:

如果从 array 中删除了元素,则返回的是被删除的元素的数组,并且改变了原数组。

var arr = ["苹果","西瓜","草莓"];
var delArr = arr.splice(1, 2); // 从index=1,开始删除2个元素;
console.log(arr); // ["苹果"];
console.log(delArr ); // ["西瓜","草莓"];

var arr = ["苹果","西瓜","草莓"];
arr.splice(1, 2, "荔枝", "龙眼"); // 从index=1处,开始删除2个元素,并插入[荔枝]和[龙眼];
console.log(arr); // ["苹果", "荔枝", "龙眼"];

var arr = ["苹果","西瓜","草莓"];
arr.splice(1, 0, "荔枝", "龙眼"); // 从index=1处,插入[荔枝]和[龙眼];
console.log(arr); // ["苹果", "荔枝", "龙眼","西瓜","草莓"];

附:提取数组中介于两个指定下标之间的字符

slice(start, end): 从下标为start的成员开始提取,直到下标为end的时候停止截取。第二个参数是可选的项,如果不填写第二个参数的话,就会一直截到数组的末尾。如果start和end参数一致的话就不执行截取操作,获取的是一个空数组
(PS:如果截取成员过多导致越界的话不会报错,会直接截取到最后一个元素,如果第一个参数比第二个参数大的话就不会截取数组,返回一个空数组)

let str = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
let a = str.slice(2, 5) // ['c', 'd', 'e', 'f']

let str = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
let b = str.slice(2) // ['c', 'd', 'e', 'f', 'g', 'h']

let str = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'];
let a = str.slice(2, 2) // []

let str = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'];
let a = str.slice(2, -2) // 参数为负数的时候会自动把 -2 转化为 str.length - 2

总结

到此这篇关于JS截取数组操作的文章就介绍到这了,更多相关JS截取数组内容请搜索本网站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本网站!

您可能感兴趣的文章:

  • JS Array.slice 截取数组的实现方法
  • JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
  • 详解JavaScript对数组操作(添加/删除/截取/排序/倒序)
  • JS中截取数组的几种方法总结