我的日常

登录/注册
您现在的位置:论坛 资料库 前端开发 > Js操作删除数组元素方法splice
总共48087条微博

动态微博

查看: 2274|回复: 0

Js操作删除数组元素方法splice

[复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    楼主
    发表于 2014-08-20 10:14:03 |只看该作者 |倒序浏览
    众所周知大家都应该知道delete的用法,用来删除对象或者删除数组等,如果是删除对象除数组以外可能可以删除的比较干净,“删除的比较干净”是什么意思就是说在Js数组中
    ,如果用delete来删除可能当前被删除的数组删除不掉,而是把他赋值为空或者null了,如下面的代码所示:
    var array = ["a","b","c","d","e"];
    delete array[2];  // 把 c 删除了。
    alert(array.length);  // 弹出一下看看显示几?答案是肯定的应该是5个。
    这里就会有个问题了,删除了一个应该还剩下下4个才对吗,为什么我也不知道,如果你想彻底删除其中一个数组的话就看看下面代码所示:
    var array = ["a","b","c","d","e"];  // 同样先声明一组数组,并且给他设置初始值。
    array.splice(2,1);  // 这里注意,最重要的代码就在这里哪。
    alert(array.length); // 弹出显示一下,哈哈 c 成功删除了。
    alert(array.join(",")); // 为了进一步看得更清楚些,我们用 join函数合并了数组进行查看,结果为:a,b,d,e。
    上面只是删除已经知道某个数组,假如说其中有个数组是空的,我想删除其中为空的数组,那这个方法还能不能用了?我们先试试下面的代码:
    var array = ["a","","c","","e"];
    for(k in array)
        if(array[k] == "") array.splice(k,k+1);  // 这里注意了,第二个参数不是1了,而是k+1。
    splice 在Jscript.chm里的说明是:
        从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
    参数
    arrayObj
    必选项。一个 Array 对象。
    start
    必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。
    deleteCount
    必选项。要移除的元素的个数。
    item1, item2,. . .,itemN
    必选项。要在所移除元素的位置上插入的新元素。
    说明
    splice 方法可以移除从 start 位置开始的指定个数的元素并插入新元素,从而修改 arrayObj。返回值是一个由所移除的元素组成的新 Array 对象。


    科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    关闭

    站长推荐上一条 /1 下一条

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表