前端 |【JavaScript】JS 删除数组中某个元素的方法有哪些?超简洁六大方法!

一、length属性

在JavaScript中,length属性用于获取数组的长度。可用于删除数组中的最后一个元素,只需将长度减1即可。

javascript 复制代码
// 创建一个数组
var a = [1, 2, 3, 4, 5];
// 使用length属性获取数组长度
console.log(a.length); // 输出:5
a.length = a.length - 1;
// a => [1,2,3,4]

二、slice属性

slice属性可用于删除数组中的第一个和最后一个元素。

javascript 复制代码
// 创建一个数组
var a = [1,2,3,4,5];
var new_a = a.slice(1); //删除数组a中第一个元素 "1"
// new_a => [2,3,4,5]
var new_b = new_a.slice(0, -1);  //删除数组new_a中最后一个元素 "5"
// new_b => [2,3,4]

三、splice属性

splice属性有4种删除方式。

1、删除数组中第一个元素

javascript 复制代码
// 创建一个数组
var a = [1,2,3,4,5];
var new_a  = a.splice(0, 1);
// a => [2,3,4,5]
// new_a => [1]

2、删除数组中某个指定元素

javascript 复制代码
var x = 2,
    a = [1,2,3,4,5];
a.splice(a.indexOf(2), 1);
// a => [1,3,4,5]

3、删除数组中指定下标的元素

javascript 复制代码
var delete_index = 2;
var a = [1,2,3,4,5];
// a => [1,2,3,4,5]
var new_a = a.splice(delete_index, 1);
// new_a => [3]
// a => [1,2,4,5]

4、删除数组中最后一个元素

javascript 复制代码
// 创建一个数组
var a = [1,2,3,4,5];
var new_a = a.splice(-1);
// a => [1,2,3,4]
// new_a => [5]

四、pop方法

JavaScript中的pop()方法用于删除数组的最后一个元素,并返回被删除的元素。

javascript 复制代码
// 创建一个数组
var a = [1,2,3,4,5];
a.pop();
// a => [1,2,3,4]

五、shift方法

JavaScript中的shift()方法用于删除数组的第一个元素,并返回被删除的元素。

javascript 复制代码
// 创建一个数组
var a = [1,2,3,4,5];
a.shift();
// a => [2,3,4,5]

六、filter方法

JavaScript中的filter()方法用于筛选数组中满足条件的元素,并返回一个新的数组。可用于删除数组中某个指定元素。

参数说明:

  • callback:用于测试数组中的每个元素的函数。返回 true 表示该元素通过测试,保留在新的数组中;返回 false 则不保留。
  • element:当前正在处理的数组元素。
  • index(可选):当前正在处理的数组元素的索引。
  • array(可选):调用 filter 方法的数组。
  • thisArg(可选):执行 callback 函数时使用的 this 值。
javascript 复制代码
// 创建一个数组
var a = [1,2,3,4,5],
    x = 2;
a = a.filter(item => item != x);
// a => [1,3,4,5]
相关推荐
Cache技术分享2 分钟前
360. Java IO API - 访问文件系统
前端·后端
yy我不解释3 分钟前
关于comfyui的mmaudio音频生成插件时时间不一致问题(四)(video upload)(解决方法)
开发语言·python·ai作画·音视频·comfyui
干啥啥不行,秃头第一名4 分钟前
C++与机器学习框架
开发语言·c++·算法
hongtianzai5 分钟前
Laravel7.x十大核心特性解析
java·c语言·开发语言·golang·php
永远睡不够的入8 分钟前
C++庖丁解牛:深入理解多态:从虚函数表到底层实现
开发语言·c++
姚青&10 分钟前
Pytest fixture 参数化(params 参数)
开发语言·python·pytest
小璐资源网12 分钟前
CSS进阶指南:深入解析选择器优先级与继承机制
前端·css
qq_3349031512 分钟前
C++与人工智能框架
开发语言·c++·算法
2401_8914821714 分钟前
C++中的状态模式
开发语言·c++·算法
工边页字17 分钟前
为什么 RAG系统里,Embedding成本往往远低于 LLM成本,但很多公司仍然疯狂优化 Embedding?
前端·人工智能·后端