截取数组操作
一、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); // ["苹果", "荔枝", "龙眼","西瓜","草莓"];