js删除数组的某个元素
最近在刷算法题,我是用js语言去写的,其中一题需要删除数组的某个元素,查了一下资料,总结一下
使用splice()方法
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
start指定修改开始的位置deleteCount删除元素的个数item1,item2在删除的位置要添加的元素
splice() 方法通过删除现有元素和/或添加新元素来更改一个数组的内容。
这种方式数组长度相应改变,原来的数组索引也相应改变
如果只删除数组其中的几个元素,需要制订start和deleteCount,如果不指定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删除数组的某个元素的更多相关文章
- js 删除 数组中某个元素(转载)
来源:https://www.jb51.net/article/134312.htm js删除数组中某一项或几项的几种方法 https://www.jb51.net/article/154737.ht ...
- js删除数组中的元素delete和splice的区别
例如有一个数组是 :var textArr = ['a','b','c','d']; 这时我想删除这个数组中的b元素: 方法一:delete 删除数组 delete textArr[1] 结果为: ...
- js 删除数组的指定元素
//为数组对象增加相应的的方法,直接调用数组的removeByValue方法即可删除指定元素 Array.prototype.removeByValue = function (val) { for ...
- JS 删除数组中某个元素
//删除红色的元素 splice(下标,长度) var arr = ['a','b','c','d']; arr.splice(1,1); console.log(arr); //['a','c', ...
- js删除数组元素
一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删 ...
- js删除数组元素、清空数组的简单方法
一.清空数组 ? 1 2 3 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即 ...
- js删除数组中元素的方法
一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删 ...
- js删除数组里指定的元素
js删除数组里指定的元素 首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) { ...
- js 删除数组方法
今天遇到一个比较脑残的问题 ,在在用js删除数组的时候 delete 数组[下标]的方法删除数组时,该数组的下标变为null,但是数组的长度并没有发生相应的变化 转而使用splice(小标,第N个)删 ...
随机推荐
- 2013-10-6 datagridview实现换行并自动设置行高
datagridview设置换行,如下,文本设置\r\n即可换行 dv4.DefaultCellStyle.WrapMode = DataGridViewTriState.True; dv4.Auto ...
- uni-app 快速认识
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.H5.以及各种小程序(微信/阿里/百度/头条/QQ)等多个平台. 即使不跨端,un ...
- BZOJ 4034"树上操作"(DFS序+线段树)
传送门 •题意 有一棵点数为 N 的树,以点 1 为根,且树点有边权. 然后有 M 个操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把某个节点 x 为根的子树中所有点的 ...
- cfp大纲
AFP基础知识 本章共14个考点,考试考15分左右. 本章重点: .职业道德准则 .家庭财务分析:净值的计算.储蓄的计算 .简单的财务比率分析 .金融理财和法律:企业组织形式.夫妻公共财产制度.财产分 ...
- H3C RIP协议概述
- H3C IP地址拒绝及释放
- [USACO10OCT]Lake Counting(DFS)
很水的DFS. 为什么放上来主要是为了让自己的博客有一道DFS题解,,, #include<bits/stdc++.h> using namespace std; ][],ans,flag ...
- SpringBoot2启动流程分析
首先上一张图,图片来自 SpringBoot启动流程解析 本文基于spring-boot-2.0.4.RELEASE.jar包分析. 程序启动入口 public static void main(St ...
- 僵进程与SIGCHLD信号
参考: https://www.cnblogs.com/webor2006/p/4014586.html wait()和waitpid()的参数解析:https://blog.csdn.net/csd ...
- 18.函数复习,文件处理b模式(二进制处理),文件处理其他高级玩法
1.函数复习 # map # l = [1,2,3,4,5] # print(list(map(str,l))) # reduce # l = [1,2,3,4,5] # from functools ...