设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间08 现在时间08 缓存数据 请试着,为欲望和懒惰松绑。你的人生,总要自己渡河摇舟。 ​早安,又是新的一天。

请试着,为欲望和懒惰松绑。你的人生,总要自己渡河摇舟。 ​早安,又是新的一天。

查看: 967|回复: 2

JS删除数组里的某个元素方法

[复制链接]

  离线 

TA的专栏

  • 打卡等级:即来则安
  • 打卡总天数:21
  • 打卡月天数:0
  • 打卡总奖励:274
  • 最近打卡:2025-04-21 07:48:29
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
390
主题
358
精华
0
金钱
1417
积分
794
注册时间
2023-2-10
最后登录
2025-6-2

发表于 2023-5-22 07:49:33 来自手机 | 显示全部楼层 |阅读模式
本文是小编针对JS删除数组里的某个元素这个大家经常遇到的经典问题整理了在各种情况下的函数写法以及遇到问题的分析,以下是全部内容:
删除数组指定的某个元素
js删除数组中某一项或几项的几种方法 http://bbs.yzwlo.com/article/154737.htm
首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为:
  1. Array.prototype.indexOf = function(val) {
  2. for (var i = 0; i < this.length; i++) {
  3. if (this[i] == val) return i;
  4. }
  5. return -1;
  6. };
复制代码
然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素:
代码为:
  1. Array.prototype.remove = function(val) {
  2. var index = this.indexOf(val);
  3. if (index > -1) {
  4. this.splice(index, 1);
  5. }
  6. };
复制代码
这样就构造了这样一个函数,比如我有有一个数组:
  1. var emp = ['abs','dsf','sdf','fd']
复制代码
假如我们要删除其中的 'fd' ,就可以使用:
  1. emp.remove('fd');
复制代码
删除的数组的某一项
splice(index,len,[item]) 注释:该方法会改变原始数组。
splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值
index:数组开始下标 len: 替换/删除的长度 item:替换的值,删除操作的话 item为空
如:arr = ['a','b','c','d']
删除
  1. //删除起始下标为1,长度为1的一个值(len设置1,如果为0,则数组不变)
  2. var arr = ['a','b','c','d'];
  3. arr.splice(1,1);
  4. console.log(arr);
  5. //['a','c','d'];
  6. //删除起始下标为1,长度为2的一个值(len设置2)
  7. var arr2 = ['a','b','c','d']
  8. arr2.splice(1,2);
  9. console.log(arr2);
  10. //['a','d']
复制代码
替换
  1. //替换起始下标为1,长度为1的一个值为‘ttt',len设置的1
  2. var arr = ['a','b','c','d'];
  3. arr.splice(1,1,'ttt');
  4. console.log(arr);
  5. //['a','ttt','c','d']
  6. var arr2 = ['a','b','c','d'];
  7. arr2.splice(1,2,'ttt');
  8. console.log(arr2);
  9. //['a','ttt','d'] 替换起始下标为1,长度为2的两个值为‘ttt',len设置的1
复制代码
添加 ---- len设置为0,item为添加的值
  1. var arr = ['a','b','c','d'];
  2. arr.splice(1,0,'ttt');
  3. console.log(arr);
  4. //['a','ttt','b','c','d'] 表示在下标为1处添加一项'ttt'
复制代码
delete方法删除掉数组中的元素后,会把该下标出的值置为undefined,数组的长度不会变
  1. var arr = ['a','b','c','d'];
  2. delete arr[1];
  3. arr;
  4. //["a", undefined × 1, "c", "d"] 中间出现两个逗号,数组长度不变,有一项为undefined
复制代码
以上这篇JS删除数组里的某个元素方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持晓枫资讯。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
11
积分
2
注册时间
2024-12-27
最后登录
2024-12-27

发表于 2025-3-10 16:12:08 | 显示全部楼层
顶顶更健康!!!
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
19
积分
18
注册时间
2022-12-26
最后登录
2022-12-26

发表于 3 天前 | 显示全部楼层
感谢楼主分享。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼
3楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表