最近在刷算法题,我是用js语言去写的,其中一题需要删除数组的某个元素,查了一下资料,总结一下

使用splice()方法

array.splice(start[, deleteCount[, item1[, item2[, ...]]]])

  • start 指定修改开始的位置

  • deleteCount 删除元素的个数

  • item1,item2 在删除的位置要添加的元素

splice() 方法通过删除现有元素和/或添加新元素来更改一个数组的内容。

这种方式数组长度相应改变,原来的数组索引也相应改变

如果只删除数组其中的几个元素,需要制订startdeleteCount,如果不指定deleteCount会把start之后的元素全部删除

如果要在删除的位置插入新的元素,只需要把新元素写在item1...位置上

例子1:删除数组[1,2,3]的第二个元素

let arr = [1,2,3]

arr.splice(1,1)
console.log(arr) //[1,3]

例子2:删除数组[1,2,3]的第二个元素以及后面的元素

let arr = [1,2,3]

arr.splice(1)
console.log(arr) //[1]

例子3:删除原数组中的第二个元素,然后添加两个新的元素5,6

let arr = [1,2,3]

arr.splice(1,1,5,6)
console.log(arr) //[1,5,6,3]

使用delete操作符

这种方式数组长度不变,此时被删除的位置内容变为 undefined 了,好处是原来数组的索引保持不变

let arr = [1,2,3]

delete arr[1]
console.log(arr) //[ 1, <1 empty item>, 3 ]

遍历数组可以使用下面这种方式

for(index in nums){
console.log(nums[index])
}

以上是 delete 操作符删除数组元素的应用,下面详细介绍一下 delete 操作符

delete 操作符用于删除对象的某个属性;如果没有指向这个属性的引用,那它最终会被释放。

let user = {
name:'Jack',
age:21
} delete user.name
console.log(user) //{ age: 21 }

js删除数组的某个元素的更多相关文章

  1. js 删除 数组中某个元素(转载)

    来源:https://www.jb51.net/article/134312.htm js删除数组中某一项或几项的几种方法 https://www.jb51.net/article/154737.ht ...

  2. js删除数组中的元素delete和splice的区别

    例如有一个数组是 :var textArr = ['a','b','c','d']; 这时我想删除这个数组中的b元素: 方法一:delete 删除数组 delete textArr[1]  结果为:  ...

  3. js 删除数组的指定元素

    //为数组对象增加相应的的方法,直接调用数组的removeByValue方法即可删除指定元素 Array.prototype.removeByValue = function (val) { for ...

  4. JS 删除数组中某个元素

    //删除红色的元素 splice(下标,长度) var arr = ['a','b','c','d']; arr.splice(1,1); console.log(arr);  //['a','c', ...

  5. js删除数组元素

    一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删 ...

  6. js删除数组元素、清空数组的简单方法

    一.清空数组 ? 1 2 3 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即 ...

  7. js删除数组中元素的方法

    一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删 ...

  8. js删除数组里指定的元素

    js删除数组里指定的元素 首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) { ...

  9. js 删除数组方法

    今天遇到一个比较脑残的问题 ,在在用js删除数组的时候 delete 数组[下标]的方法删除数组时,该数组的下标变为null,但是数组的长度并没有发生相应的变化 转而使用splice(小标,第N个)删 ...

随机推荐

  1. PLSQL中的三种参数模式IN、OUT、IN OUT

    原文链接:https://www.cnblogs.com/zbj815/p/6854108.html 1.IN模式 IN模式是参数的默认模式,这种模式就是在程序运行的时候已经具有值,在程序体中值不会改 ...

  2. springboot2动态数据源的绑定

    由于springboot2更新了绑定参数的api,部分springboot1用于绑定的工具类如RelaxedPropertyResolver已经无法在新版本中使用.本文实现参考了https://blo ...

  3. [转]C#中 ??、 ?、 ?: 、?.、?[ ] 问号

    1. 可空类型修饰符(?) 引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; 是正确的,int i=null; 编译器就会报错.为了使值类型也 ...

  4. Python--day42--mysql创建用户及授权

    1,打开mysql数据库命令:mysql -u root -p 2,创建数据库create database db2; 2,删除数据库drop database db2; 2,展示有多少个文件夹:sh ...

  5. 添加gitignore文件后使其生效

    https://www.cnblogs.com/AliliWl/p/7880243.html 遇到的问题 我们发现在添加.gitignore文件后,当我们想push文件的时候,我们声明的忽略文件还是会 ...

  6. Vue 小实例 跑马灯效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. H5 FileReader读取文件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. activeMQ的两个默认端口8161和61616的区别

    activeMQ默认配置下启动会启动8161和61616两个端口,其中8161是mq自带的管理后台的端口,61616是mq服务默认端口 . 8161是后台管理系统,61616是给java用的tcp端口 ...

  9. 【35.53%】【POJ 2912】Rochambeau

    Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 2837 Accepted: 1008 Description N childre ...

  10. Nodejs模拟并发,尝试的两种解决方案

    一.准备数据库表 创建商品库存表 db_stock ,插入一条数据 DROP TABLE IF EXISTS `db_stock`; CREATE TABLE `db_stock` ( `id` ) ...