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个)删 ...
随机推荐
- 深入Java线程管理(三):线程同步
一. 引入同步: 有一个很经典的案例,即银行取款问题.我们可以先看下银行取款的基本流程: 1)用户输入账户.密码,系统判断用户的账户.密码是否匹配. 2)用户输入取款金额. 3)系统判断账户金额是否大 ...
- POJ 2406 Power Strings next数组循环节应用、
题意:就给出个字符串做*的定义.a^0 = "" (the empty string) and a^(n+1) = a*(a^n). 题目要求n的最大值. 思路: 化简上面的 ...
- 2004年NOIP普及组复赛题解
题目涉及算法: 不高兴的津津:入门题: 花生采摘:贪心: FBI树:递归.DP求区间和: 火星人:模拟. 不高兴的津津 题目链接: 简单枚举. 遍历一遍,找到 \(a[i] + b[i]\) 最大的那 ...
- Flex AIR应用换肤功能(Android和IOS)
说明 换肤功能,即将整个应用的皮肤都进行更换,其实质,是动态加载swf文件的过程,而这些swf文件则有css文件编译而来. 关于换肤功能,在android和ios系统的实现方式是不同的.主要原因,是因 ...
- Python--day23--面向对象思想求正方形面积
- Python--day45--pymysql操作数据库详细
1.一个pymysql往数据库提交数据的简单例子: import pymysql # user = "eric" # pwd = '123123' #增加 conn = pymys ...
- H3C 更新发送全部路由表浪费网络资源
- H3C 动态路由协议的基本原理
- 随机抽样 (numpy.random)
随机抽样 (numpy.random) 简单的随机数据 rand(d0, d1, ..., dn) 随机值 >>> np.random.rand(3,2) array([[ 0.14 ...
- linux 一个写缓存例子
我们已经几次提及 shortprint 驱动; 现在是时候真正看看. 这个模块为并口实现一个非 常简单, 面向输出的驱动; 它是足够的, 但是, 来使能文件打印. 如果你选择来测试这个 驱动, 但是, ...