【JavaScript 教程】第六章 数组05— splice():删除、插入和替换

2024-01-16 05:58

本文主要是介绍【JavaScript 教程】第六章 数组05— splice():删除、插入和替换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

3694f89b0326e73660bb36e708d0b8f2.png

英文 | https://www.javascripttutorial.net/

译文 | 杨小爱

在上节,我们学习了队列数据结构以及如何使用 Array 类型的方法实现 JavaScript 队列,错过的小伙伴可以点击文章《【JavaScript 教程】第六章 数组04— JavaScript 队列》进行学习。

那么,在今天的教程中,我们一起来学习如何使用 JavaScript Array 的 splice() 方法删除现有元素、插入新元素和替换数组中的元素。

JavaScript Array 类型提供了一个非常强大的 splice() 方法,允许您将新元素插入到数组的中间。但是,您也可以使用此方法删除和替换现有元素。

使用 JavaScript Array 的 splice() 方法删除元素

要删除数组中的元素,您可以将两个参数传递给 splice() 方法,如下所示:

 
Array.splice(position,num);

position 指定要删除的第一个项目的位置,num 参数确定要删除的元素数。

splice() 方法更改原始数组并返回一个包含已删除元素的数组。

让我们看看下面的例子。

假设您有一个包含从 1 到 5 的五个数字的数组分数。

 
let scores = [1, 2, 3, 4, 5];

以下语句从scores 数组的第一个元素开始删除三个元素。

 
let deletedScores = scores.splice(0, 3);

scores数组现在包含两个元素。

 
console.log(scores); //  [4, 5]

而deletedScores数组包含三个元素。

 
console.log(deletedScores); // [1, 2, 3]

下图说明了scores.splice(0,3)上面的方法调用。

f8cf420a7bd9db80f56d04c9e98aadcd.png

使用 JavaScript Array splice() 方法插入元素

您可以通过将三个或更多参数传递给 splice() 方法,其中第二个参数为零,从而将一个或多个元素插入到数组中。

考虑以下语法。

 
Array.splice(position,0,new_element_1,new_element_2,...);

在这个语法中:

位置指定新元素将在数组中插入的起始位置。

  • 第二个参数为零 (0),指示 splice() 方法不删除任何数组元素。

  • 第三个参数、第四个参数等是插入到数组中的新元素。

注意 splice() 方法实际上改变了原始数组。此外, splice() 方法不会删除任何元素,因此它返回一个空数组。例如:

假设您有一个名为 colors 的数组,其中包含三个字符串。

 
let colors = ['red', 'green', 'blue'];

以下语句在第二个元素之后插入一个元素。

 
colors.splice(2, 0, 'purple');

colors数组现在有四个元素,新元素插入在第二个位置。

 
console.log(colors); // ["red", "green", "purple", "blue"]

下图演示了上面的方法调用。

4f596ea7df4d478816f36a3eb17f263a.png

您可以通过将第四个参数、第五个参数等传递给 splice() 方法来插入多个元素,如下例所示。

colors.spli
ce(1, 0, 'yellow', 'pink');
console.log(colors); 
// ["red", "yellow", "pink", "green", "purple", "blue"]

使用 JavaScript Array splice() 方法替换元素

splice() 方法允许您在删除现有元素的同时将新元素插入到数组中。

为此,您至少传递三个参数,第二个参数指定要删除的项目数,第三个参数指定要插入的元素。

请注意,要删除的元素数不必与要插入的元素数相同。

假设您有一组包含四个元素的编程语言,如下所示:

 
let languages = ['C', 'C++', 'Java', 'JavaScript'];

以下语句将第二个元素替换为一个新元素。

 
languages.splice(1, 1, 'Python');

语言数组现在仍然有四个元素,新的第二个参数是“Python”而不是“C++”。

 
console.log(languages); 
// ["C", "Python", "Java", "JavaScript"]

下图说明了上面的方法调用。

bb6d4bd9bb827533fcd9a945d04cb5d4.png

您可以通过向 splice() 方法传递更多参数来将一个元素替换为多个元素,如下所示:

 
languages.splice(2,1,'C#','Swift','Go');

该语句从第二个元素(即 Java)中删除一个元素,并将三个新元素插入到语言数组中。结果如下。

 
console.log(languages); // ["C", "Python", "C#", "Swift", "Go", "JavaScript"]

在本教程中,您学习了如何使用 JavaScript Array splice() 方法删除现有元素、插入新元素和替换数组中的元素。

今天内容就到这里了。

如果您还想学习前面的内容,请点击下文链接进行学习。

【JavaScript 教程】第六章 数组04— JavaScript 队列

【JavaScript 教程】第六章 数组03— Stack :使用 Array 的push()和pop()方法实现堆栈数据结构

【JavaScript 教程】第六章 数组02— Array Length:如何有效地使用数组的长度属性

【JavaScript 教程】第六章 数组01— 介绍JavaScript中的Array类型

【JavaScript 教程】第五章 字符串11— includes():检查字符串是否包含子字符串

【JavaScript 教程】第五章 字符串10— slice():提取字符串的一部分

【JavaScript 教程】第五章 字符串09— substring():从字符串中提取子字符串

【JavaScript 教程】第五章 字符串08— lastIndexOf():查找字符串中子字符串最后一次出现的索引

【JavaScript 教程】第五章 字符串07— indexOf():获取字符串中子字符串第一次出现的索引

【JavaScript 教程】第五章 字符串06— split():将字符串拆分为子字符串数组

【JavaScript 教程】第五章 字符串05— concat():将多个字符串连接成一个新字符串

【JavaScript 教程】第五章 字符串04— padStart() 和 padEnd()

【JavaScript 教程】第五章 字符串03— trim()、trimStart() 和 trimEnd()

【JavaScript 教程】第五章 字符串02— 字符串类型

【JavaScript 教程】第五章 字符串01— JavaScript 字符串

学习更多技能

请点击下方公众号

b26480914f866930c1dac4ef133d5840.gif

ad6ef5e8045d1c63d29273aac8456cc1.png

bc2d6fdfddf351b58053eda7e40a1940.png

这篇关于【JavaScript 教程】第六章 数组05— splice():删除、插入和替换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/611526

相关文章

Java实现检查多个时间段是否有重合

《Java实现检查多个时间段是否有重合》这篇文章主要为大家详细介绍了如何使用Java实现检查多个时间段是否有重合,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录流程概述步骤详解China编程步骤1:定义时间段类步骤2:添加时间段步骤3:检查时间段是否有重合步骤4:输出结果示例代码结语作

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Java覆盖第三方jar包中的某一个类的实现方法

《Java覆盖第三方jar包中的某一个类的实现方法》在我们日常的开发中,经常需要使用第三方的jar包,有时候我们会发现第三方的jar包中的某一个类有问题,或者我们需要定制化修改其中的逻辑,那么应该如何... 目录一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理一、需求描述需求描述如下:需要在

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Spring AI集成DeepSeek的详细步骤

《SpringAI集成DeepSeek的详细步骤》DeepSeek作为一款卓越的国产AI模型,越来越多的公司考虑在自己的应用中集成,对于Java应用来说,我们可以借助SpringAI集成DeepSe... 目录DeepSeek 介绍Spring AI 是什么?1、环境准备2、构建项目2.1、pom依赖2.2