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个)删 ...
随机推荐
- iptables典型NAT上网
一般做为NAT的计算机同时也是局域网的网关,假定该机有两块网卡eth0.eth1,eth0连接外网,IP为202.96.134.134:eth1连接局域网,IP为192.168.62.10 1. 先在 ...
- 下推栈实现(c++编程思想 p136)
1 头文件Stack.h #ifndef STACK_H #define STACK_H struct Stack { struct Link { void* data; Link* next; vo ...
- PC端页面如何调用QQ进行在线聊天?
pc端如何实现QQ在线咨询? html代码如下: <a href="tencent://message/?uin=1234567&Site=Sambow&Menu=ye ...
- java 布局管理器
容器中的组件的排放方式,就是布局. 常见的布局管理器: FlowLayout(流式布局管理器)//目前最常用的 从左到右的顺序排列. Panel默认的布局管理器. BorderLayout(边界布局管 ...
- js 键盘事件keyCode 总结
开发中经常页面中的某些按钮或元素需要绑定到键盘的输入事件 keydown.keyup 事件 keydown 键盘按下触发事件 $("#btn").keydown(function( ...
- ESB总线的核心架构
根据近期对开源ESB产品的研究,已经对Oracle和Tibco的ESB总线产品的实施经验积累,对ESB总线的核心产品架构有了进一步的清晰认识,将ESB的核心架构整理为上图,上图中看到的内容也是做为一款 ...
- springboot上传文件时500错误,提示临时目录无效
org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nes ...
- 机器学习——SVM
整理自: https://blog.csdn.net/woaidapaopao/article/details/77806273?locationnum=9&fps=1 带核的SVM为什么能分 ...
- Linux 内核列举设备和驱动
如果你在编写总线级别的代码, 你可能不得不对所有已经注册到你的总线的设备或驱动进 行一些操作. 它可能会诱惑人直接进入 bus_type 结构中的各种结构, 但是最好使用已经 提供的帮助函数. 为操作 ...
- HDU - 4587 TWO NODES (图的割点)
Suppose that G is an undirected graph, and the value of stab is defined as follows: Among the expres ...