耀极客论坛

 找回密码
 立即注册
查看: 387|回复: 0

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

[复制链接]

336

主题

318

帖子

22万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
220553
发表于 2022-5-7 00:38:08 | 显示全部楼层 |阅读模式
  下面小编就为大家分享一篇JS删除数组里的某个元素方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  本文是小编针对JS删除数组里的某个元素这个大家经常遇到的经典问题整理了在各种情况下的函数写法以及遇到问题的分析,以下是全部内容:

  删除数组指定的某个元素
  js删除数组中某一项或几项的几种方法 https://www.jb51.net/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删除数组里的某个元素方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。


回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|耀极客论坛 ( 粤ICP备2022052845号-2 )|网站地图

GMT+8, 2022-11-28 20:04 , Processed in 0.076143 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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