了解和使用 JavaScript 中的 Array.splice() 方法

发布于 2022-08-04 13:25:30 字数 2512 浏览 232 评论 0

Array#splice()函数 允许您通过添加和删除元素来就地修改数组。 它最常用于从数组中删除元素,但也可用于将元素添加到数组的中间。

删除元素

splice() function 是 唯一 允许您从数组中间删除元素而不创建新数组的本机数组函数。 例如,假设您有一个数组 ['a', 'b', 'c', 'd'],以下是删除 c 的方法 splice():

const arr = ['a', 'b', 'c', 'd'];

// Remove 1 element starting at index 2
arr.splice(2, 1);

arr; // ['a', 'b', 'd']

前 2 个参数 splice() 被称为 startdeleteCount,这 start 参数告诉 splice() 从哪里开始修改数组。 这 deleteCount 参数告诉 splice() 要删除多少元素。

你可能会看到 JavaScript 项目使用 filter() 代替 splice() 从数组中删除元素。 这两种方法的主要区别在于 filter() 创建一个新数组。 这表示 filter() 对于依赖不变性的应用程序(例如 React 应用程序)来说是更好的选择。

const arr = ['a', 'b', 'c', 'd'];

// Remove 1 element starting at index 2
const arr2 = arr.filter((v, i) => i !== 2);

// `arr` still has 'c', because `filter()` doesn't modify the array
// in place. On the other hand, `splice()` modifies the array in place.
arr; // ['a', 'b', 'c', 'd']
arr2; // ['a', 'b', 'd']
arr2 === arr; // false

向中间添加元素

splice() 函数还允许您将元素添加到数组的中间。 JavaScript 数组有一个 push() 函数 允许您将元素添加到数组末尾的 unshift() 函数 允许您将元素添加到数组开头,这 splice() function 是唯一允许您将元素添加到数组中间的本机数组函数。

例如,假设您有一个数组 ['a', 'b', 'd'] 并且您想在“b”之后添加“c”。 每个 参数 splice() 之后 deleteCount 参数被视为要添加到数组中的元素 startIndex,所以要插入' c',你调用 splice()deleteCount 0 和 'c' 作为第三个参数。

const arr = ['a', 'b', 'd'];

let start = 2;
let deleteCount = 0;
arr.splice(start, deleteCount, 'c');

arr; // ['a', 'b', 'c', 'd'];

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

只想待在家

暂无简介

文章
评论
26 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文