JavaScript Array splice() 方法

yufei       6 年, 3 月 前       1320

今天在帮朋友完成一个 微信小游戏 有一个需求就是 「 删除 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 包含被删除的元素组成的新数组,如果没有元素被删除,则返回空数组 []

范例

  1. 从 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"]
    
  2. 删除数组中 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"]
    
  3. 删除数组中 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"]
    
目前尚无回复
简单教程 = 简单教程,简单编程
简单教程 是一个关于技术和学习的地方
现在注册
已注册用户请 登入
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.