最近在刷算法题,我是用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. TabHost选项卡的实现(一):使用TabActivity实现

    一. TabHost的基本开发流程 TabHost是一种非常实用的组件,可以很方便的在窗口上防止多个标签页,每个标签页相当于获得了一个外部容器相同大小的组件摆放区域. 我们熟悉的手机电话系统" ...

  2. Python--day41--threading中的定时器Timer

    定时器Timer:定时开启线程 代码示例: #定时开启线程 import time from threading import Timer def func(): print('时间同步') #1-3 ...

  3. H5 网络状态接口

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

  4. The bind() Method

    The bind() method was added in ESMAScript 5, but it is easy to simulate in ESMAScrpt 3. As its name ...

  5. 【u202】家庭作业

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 老师在开学第一天就把所有作业都布置了,每个作业如果在规定的时间内交上来的话才有学分.每个作业的截止日期 ...

  6. 将url传参的中文字符在页面中显示正常

    //将url传参的中文字符在页面中显示正常var url=decodeURI(url);

  7. 【t068】智慧碑

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] DIABLO魔王和Mini都有三种属性,体力点,攻击点,以及集气点. 两人的攻击方式是这样的:采用回合 ...

  8. Linux 内核块 urb

    块 urb 被初始化非常象中断 urb. 做这个的函数是 usb_fill_bulk_urb, 它看来如此: void usb_fill_bulk_urb(struct urb *urb, struc ...

  9. UVA - 10480 Sabotage (Dinic)

    The regime of a small but wealthy dictatorship has been abruptly overthrown by an unexpected rebel-l ...

  10. Android6_大致了解4大组件

    一.Activity和View Activity是Android应用中负责与用户交互的组件. View是所有UI控件.容器控件的基类.View组件就是Android应用中用户实实在在看到的部分. Ac ...