JS 删除数组元素( 5种方法 )

简介: JS 删除数组元素( 5种方法 )

、五种方法

1. splice() 方法 - 删除指定索引位置的元素

语法:

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

1

注意事项:

splice() 方法会直接修改原数组。

需要提供两个参数:起始索引 start 和要删除的元素数量 deleteCount。

可选地,可以在删除元素后在其位置插入新的元素。

代码示例:

let myArray = [1, 2, 3, 4, 5];
myArray.splice(2, 1); // 删除索引为2的元素
console.log(myArray); // 输出: [1, 2, 4, 5]
// 同时删除并插入元素
myArray.splice(2, 1, 'a', 'b');
console.log(myArray); // 输出: [1, 2, 'a', 'b', 4, 5]

2. pop() 方法 - 删除并返回数组最后一个元素

语法:

array.pop()

1

注意事项:

pop() 方法会直接修改原数组,减少数组长度。

它返回被删除的最后一个元素。

代码示例:

let myArray = [1, 2, 3];
let lastElement = myArray.pop();
console.log(lastElement); // 输出: 3
console.log(myArray); // 输出: [1, 2]

3. shift() 方法 - 删除并返回数组第一个元素

语法:

array.shift()

1

注意事项:

shift() 方法同样会直接修改原数组,减少数组长度。

它返回被删除的第一个元素。

代码示例:

let myArray = [1, 2, 3];
let firstElement = myArray.shift();
console.log(firstElement); // 输出: 1
console.log(myArray); // 输出: [2, 3]

4. delete 操作符 - 删除指定索引位置的元素(保留数组长度,但使该位置值为 undefined)

注意事项:

delete 不是数组专用方法,而是JavaScript通用操作符。

使用 delete 会使得数组在相应索引上的值变为 undefined,但数组长度不变。

代码示例:

let myArray = [1, 2, 3, 4, 5];
delete myArray[2];
console.log(myArray); // 输出: [1, 2, undefined, 4, 5]


5. 设置 length 属性 - 快速删除数组尾部之外的所有元素

注意事项:

直接设置数组的 length 属性可以缩短数组,所有索引大于新 length 值的元素都会被删除。

代码示例:

let myArray = [1, 2, 3, 4, 5];
myArray.length = 3;
console.log(myArray); // 输出: [1, 2, 3]

二、注意事项总结

splice() 适合删除任意位置的元素,且可以一次删除多个。

pop() 和 shift() 分别用于删除末尾和头部的单个元素。

使用 delete 操作符会导致数组中出现 undefined 值,而非真正缩小数组大小。

调整 length 属性可快速截断数组,但请确保了解其对数组影响的特殊性。

目录
相关文章
|
7月前
|
监控 负载均衡 JavaScript
有哪些有效的方法可以优化Node.js应用的性能?
有哪些有效的方法可以优化Node.js应用的性能?
365 69
|
8月前
|
JavaScript 算法 开发者
如何用JS实现在网页上通过鼠标移动批量选择元素的效果?
本文介绍了类似电脑桌面通过鼠标选择多个图标的实现原理。主要通过监听mousedown、mousemove和mouseup事件,动态调整选择框大小并计算与元素的重叠情况。提供了角重叠和相交重叠的检测方法,并附有示例代码和在线演示链接,方便开发者参考与测试。
272 56
|
6月前
|
JavaScript Linux 内存技术
Debian 11系统下Node.js版本更新方法详解
本指南详细介绍在Linux系统中安装和管理Node.js的步骤。首先检查现有环境,包括查看当前版本和清除旧版本;接着通过NodeSource仓库安装最新版Node.js并验证安装结果。推荐使用nvm(Node Version Manager)进行多版本管理,便于切换和设置默认版本。同时,提供常见问题解决方法,如权限错误处理和全局模块迁移方案,以及版本回滚操作,确保用户能够灵活应对不同需求。
518 0
|
6月前
|
JavaScript Linux 内存技术
Debian 11系统下Node.js版本更新方法
Debian 11更新Node.js主要就是这三种方式,无论你是初涉其中的新手还是找寻挑战的专家,总有一种方式能满足你的需求。现在,你已经是这个
616 80
|
8月前
|
JavaScript 前端开发 Java
js 垃圾回收机制的方法
JS回收机制方法讲解
|
9月前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
9月前
|
移动开发 运维 供应链
通过array.some()实现权限检查、表单验证、库存管理、内容审查和数据处理;js数组元素检查的方法,some()的使用详解,array.some与array.every的区别(附实际应用代码)
array.some()可以用来权限检查、表单验证、库存管理、内容审查和数据处理等数据校验工作,核心在于利用其短路机制,速度更快,节约性能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
前端开发 JavaScript
【JavaScript】动态修改元素的 background-image
【JavaScript】动态修改元素的 background-image
1097 0
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
290 2
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
222 1
JavaScript中的原型 保姆级文章一文搞懂

热门文章

最新文章