我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Js之如何移除Array/数组中指定元素

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Js之如何移除Array/数组中指定元素

Js 移除Array数组中指定元素

首先需要找到元素的下标:

var array = [0,1,2,3,4,5];
var index = array.indexOf(5);

使用splice函数进行移除:

if (index > -1) {
    array.splice(index, 1);
}
  • indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。
  • splice函数的第二个参数指删除的数目。
  • splice直接修改原数组,并把删除的所有元素以另一个新数组的方式返回。

Js 数组删除元素 避坑

length

JavaScript中Array的length属性非常有特点一一它不是只读的。因此,通过设置这个属性可以从数组的末尾移除项或添加新项,请看下面例子:

var colors = ["red", "blue", "grey"];   //创建一个包含3个字符串的数组
colors.length = 2;
console.log(colors[2]);  //undefined

delete

var arr = [1, 2, 3, 4];
delete arr[0];
console.log(arr);   //[undefined, 2, 3, 4]

可以看出来,delete删除之后数组长度不变,只是被删除元素被置为undefined了。

栈方法

var colors = ["red", "blue", "grey"];
var item = colors.pop();
console.log(item);      //"grey"
console.log(colors.length);    //2

在调用Pop方法时,数组返回最后一项,即”grey”,数组的元素也仅剩两项。

队列方法

var colors = ["red", "blue", "grey"];
var item = colors.shift();
console.log(item);      //"red"
console.log(colors.length);    //2

队列数据结构的访问规则是FIFO(先进先出),队列在列表的末端添加项,从列表的前端移除项,使用shift方法,它能够移除数组中的第一个项并返回该项,并且数组的长度减1。

操作方法

var colors = ["red", "blue", "grey"];
var item = colors.splice(0, 1);
console.log(item);      //"red"
console.log(colors);    //["blue", "grey"]

迭代方法

所谓的迭代方法就是用循环迭代数组元素发现符合要删除的项则删除,用的最多的地方可能是数组中的元素为对象的时候,根据对象的属性例如ID等等来删除数组元素。

  • forEach
var colors = ["red", "blue", "grey"];
colors.forEach(function(item, index, arr) {
    if(item == "red") {
        arr.splice(index, 1);
    }
});
  • filter
var colors = ["red", "blue", "grey"];
colors = colors.filter(function(item) {
    return item != "red"
});
console.log(colors);    //["blue", "grey"]

原型方法

Array.prototype.remove = function(dx) {
    if(isNaN(dx) || dx > this.length){
        return false;
    }
    for(var i = 0,n = 0;i < this.length; i++) {
        if(this[i] != this[dx]) {
            this[n++] = this[i];
        }
    }
    this.length -= 1;
};
var colors = ["red", "blue", "grey"];
colors.remove(1);
console.log(colors);    //["red", "grey"]

在此把删除方法添加给了Array的原型对象,则在此环境中的所有Array对象都可以使用该方法。

尽管可以这么做,但是我们不推荐在产品化的程序中来修改原生对象的原型。道理很简单,如果因某个实现中缺少某个方法,就在原生对象的原型中添加这个方法,那么当在另一个支持该方法的实现中运行代码时,就可能导致命名冲突。而且这样做可能会意外的导致重写原生方法。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Js之如何移除Array/数组中指定元素

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Js之如何移除Array/数组中指定元素

这篇文章主要介绍了Js之如何移除Array/数组中指定元素问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-03-06

Js之怎么移除Array数组中指定元素

这篇文章主要介绍“Js之怎么移除Array数组中指定元素”,在日常操作中,相信很多人在Js之怎么移除Array数组中指定元素问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Js之怎么移除Array数组中指定元素
2023-07-05

php数组中如何移除元素

小编给大家分享一下php数组中如何移除元素,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php数组中移除元素的方法:1、通过“unset($array[1]);”
2023-06-14

javascript数组如何删除指定元素

这篇文章主要介绍了javascript数组如何删除指定元素,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JavaScript的作用是什么1、能够嵌入动态文本于HTML页面。2
2023-06-14

javascript如何移除数组元素

这篇文章给大家分享的是有关javascript如何移除数组元素的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。javascript是一种什么语言javascript是一种动态类型、弱类型的语言,基于对象和事件驱动并
2023-06-14

es6数组如何移除元素

本篇内容主要讲解“es6数组如何移除元素”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“es6数组如何移除元素”吧!方法:1、用shift()删除第一个元素,语法“数组.shift()”;2、用p
2023-07-05

php如何删除数组指定键的元素

这篇文章主要介绍“php如何删除数组指定键的元素”,在日常操作中,相信很多人在php如何删除数组指定键的元素问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何删除数组指定键的元素”的疑惑有所帮助!接下来
2023-06-20

php数组如何删除指定值的元素

这篇文章主要介绍“php数组如何删除指定值的元素”,在日常操作中,相信很多人在php数组如何删除指定值的元素问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php数组如何删除指定值的元素”的疑惑有所帮助!接下来
2023-07-05

php如何移除数组重复元素

今天小编给大家分享一下php如何移除数组重复元素的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。php移除数组重复元素的方法:
2023-07-04

es6如何移除全部数组元素

这篇文章主要介绍“es6如何移除全部数组元素”,在日常操作中,相信很多人在es6如何移除全部数组元素问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”es6如何移除全部数组元素”的疑惑有所帮助!接下来,请跟着小编
2023-07-04

php如何移除数组中的一个元素

移除方法:1、使用array_shift(),可移除数组开头的第一个元素;2、使用array_pop(),可移除数组最后一个元素;3、使用使用unset(),可根据数组下标移除一个元素,语法“unset($arr[指定下标])”。
2020-09-30

php如何删除指定下标的数组元素

这篇文章将为大家详细讲解有关php如何删除指定下标的数组元素,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP中可以使用unset()函数来删除指定下标的数组元素,语法格式“unset($arr[指定下
2023-06-06

使用javascript如何删除数组的指定元素

使用javascript如何删除数组的指定元素?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。方法1:splice方法//获取元素在数组的下标Array.prototype.in
2023-06-14

编程热搜

目录