截取数组操作

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

发表回复