今天在帮朋友完成一个 微信小游戏 有一个需求就是 「 删除 Array 数组中指定的元素 」
这个操作,大家应该想都不用想,就会说出是 splice()
方法,哈哈
当然了,我今天讲的并不是使用 splice()
删除元素,而是使用 splice()
方法来插入元素
JavaScript Array splice() 方法
splice()
既可以用来从数组中删除元素,也可用用来向数组指定位置添加元素,更可以一边删除元素一边添加元素
该方法会改变原数组,且返回被删除的元素
Array splice() 方法格式
Array splice() 方法格式如下
arrayObject.splice(index,howmany,item1,.....,itemX)
splice() 方法可删除从 index 处开始的零个或多个元素,如果传递了 item1,item2,... itemX,那么会在当前 index 位置开始插入它们
如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组
参数 | 说明 |
---|---|
index | 必选。整数,规定添加/删除项目的位置,使用负数可从数组结尾处指定元素删除 |
howmany | 必选。要删除的项目数量。如果设置为 0,则不会删除项目 |
item1, ..., itemX | 可选。向数组添加的新元素 |
返回值
类型 | 描述 |
---|---|
Array | 包含被删除的元素组成的新数组,如果没有元素被删除,则返回空数组 [] |
范例
-
从 index = 2 的位置 ( 也就第三个元素 ) 开始添加一个新元素
var fruit = new Array(6); fruit[0] = 'Apple'; fruit[1] = 'Banana'; fruit[2] = 'Peach'; fruit[3] = 'Pear'; fruit[4] = 'Orange'; fruit[5] = 'Lemen'; console.log('fruit=',fruit); var deleted = fruit.splice(2,0,'Lime'); console.log('deleted:',deleted); console.log('fruit=',fruit);
输出结果如下
fruit= (6) ["Apple", "Banana", "Peach", "Pear", "Orange", "Lemen"] deleted: [] fruit= (7) ["Apple", "Banana", "Lime", "Peach", "Pear", "Orange", "Lemen"]
-
删除数组中 index = 2 开始的 1 个元素,并添加一个新元素
var fruit = new Array(6); fruit[0] = 'Apple'; fruit[1] = 'Banana'; fruit[2] = 'Peach'; fruit[3] = 'Pear'; fruit[4] = 'Orange'; fruit[5] = 'Lemen'; console.log('fruit=',fruit); var deleted = fruit.splice(2,1,'Lime'); console.log('deleted:',deleted); console.log('fruit=',fruit);
输出结果如下
fruit= (6) ["Apple", "Banana", "Peach", "Pear", "Orange", "Lemen"] deleted: ["Peach"] ruit= (6) ["Apple", "Banana", "Lime", "Pear", "Orange", "Lemen"]
-
删除数组中 index = 2 开始的 4 个元素,并添加一个新元素
var fruit = new Array(6); fruit[0] = 'Apple'; fruit[1] = 'Banana'; fruit[2] = 'Peach'; fruit[3] = 'Pear'; fruit[4] = 'Orange'; fruit[5] = 'Lemen'; console.log('fruit=',fruit); var deleted = fruit.splice(2,4,'Lime'); console.log('deleted:',deleted); console.log('fruit=',fruit);
输出结果如下
fruit= (6) ["Apple", "Banana", "Peach", "Pear", "Orange", "Lemen"] deleted: (4) ["Peach", "Pear", "Orange", "Lemen"] fruit= (3) ["Apple", "Banana", "Lime"]
目前尚无回复