在 JavaScript 中将元素追加到数组中
在本文中,我们将学习如何在 JavaScript 中将元素追加到数组中。
有几种方法可以将元素追加到 JavaScript 中的数组。我们可以附加一个元素,多个元素,甚至可以将整个数组附加到给定的数组。我们可以使用一种方法,具体取决于我们是否要进行变异,速度和效率要求,代码的可读性。
在经典方法中,我们使用数组的总长度获取数组的最后一个空索引,并在该索引处插入一个元素。该方法最容易使用,并且效率极高。它仅允许我们一次附加一个元素。这是一种变异方法,因为它会更改原始数组。
let arr = [0,1,2];
arr[arr.length]=3;
console.log(arr);
输出:
[0, 1, 2, 3]
在上面的代码中,我们使用 arr.length
获得数组的最后一个索引为 3
,然后在这些索引处添加元素。
push()
方法用于将元素添加到数组的末尾。我们可以添加一个元素,多个元素甚至一个数组。它是最简单也是最快的选项之一,在某些情况下甚至可以在大型数组中使用 Array.length
击败上述方法。.push()
执行的动作可以通过 .pop()
方法反转。当多个元素一起传递时,它们的顺序由 push()
运算符保留。此方法还会更改数组,因此是可变的。
const arr =[1,2,3];
const arr2 = [8,9,10];
arr.push(4);// single item
arr.push(5,6,7);// multiple items
arr.push(...arr2);// spread operator
console.log(arr);
输出:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
在上面的代码中,我们演示了所有的 3 种情况:使用扩展语法添加单个元素,多个元素甚至整个数组。所有元素都附加在数组的末尾。
unshift()
方法可帮助我们在数组的开头添加一个元素。它返回数组的新长度。可以调用它或将其应用于属性类似于数组的对象。当多个元素一起传递时,它们的顺序由 unshift()
运算符保留。此方法还会更改数组,因此是可变的。
const arr = [1,2,3];
const arr2 = [8,9,10];
arr.unshift(4); // single item
arr.unshift(5,6,7); // multiple items
arr.unshift(...arr2) // spread operator
console.log(arr);
输出:
[8, 9, 10, 5, 6, 7, 4, 1, 2, 3]
在上面的代码中,我们演示了所有 3 种情况:使用扩展语法添加单个元素,多个元素甚至整个数组。注意此操作与 push()
有何不同,所有元素都附加到数组的开头。
splice()
方法可以通过添加/删除元素来修改数组的内容。它采用以下 3
参数:
此方法还会更改数组,因此是可变的。
const arr = [1,2,3,4,5];
arr.splice(4,3,7,8,9);
console.log(arr);
输出:
[1, 2, 3, 4, 7, 8, 9]
在上面的代码中,我们选择了索引 4
,并在该索引处添加了 3
元素 7,8,9
。
concat()
方法将数组作为输入并将它们连接在一起,即,它采用一个数组并将其余数组附加到其末尾。但是此运算符不会修改原始数组,而是返回一个包含合并结果的全新数组。它可以采用两个或多个数组并将它们连接在一起。由于此方法不会修改给定的数组,因此它是非可变的。
const arr = [1,2,3];
const arr2 = [8,9,10];
const arr3 = arr.concat(arr2);
console.log(arr3);
输出:
[1, 2, 3, 8, 9, 10]
在上面的代码中,我们采用两个数组 arr
和 arr2
,并调用 concat()
函数将它们连接起来以形成新数组-arr3
。
我们可以使用传播语法将完整的数组追加到给定的数组中。这是一种非变异方法,因为我们只是将数组元素散布到一个新数组中。它与 concat()
操作非常相似。它可以帮助我们创建副本或合并两个分开的数组。仔细使用传播语法很重要。如果我们使用语法 const arr = [arr1, arr2];
我们得到一个包含两个子数组的嵌套数组,而如果使用 const arr=[...arr1 , ...arr2];
我们将两个数组的元素连接在一起。
const arr = [1,2,3];
const arr2 = [8,9,10];
const arr3 = [...arr, ...arr2];
输出:
[1, 2, 3, 8, 9, 10]
在上面的代码中,我们使用传播操作符将两个数组 arr
和 arr2
附加到一个新数组 arr3
中。
除 spread
语法外,所有主要浏览器均支持上述所有方法。Internet Explorer 不支持 spread
语法。
相关文章
在 Angular 中上传文件
发布时间:2023/04/14 浏览次数:71 分类:Angular
-
本教程演示了如何在 Angular 中上传任何文件。我们还将介绍如何在文件上传时显示进度条,并在上传完成时显示文件上传完成消息。
Angular 中所有 Mat 图标的列表
发布时间:2023/04/14 浏览次数:91 分类:Angular
-
本教程演示了在哪里可以找到 Angular 中所有 Mat 图标的列表以及如何使用它们。
Angular 2 中的复选框双向数据绑定
发布时间:2023/04/14 浏览次数:139 分类:Angular
-
本教程演示了如何一键标记两个复选框。这篇有 Angular 的文章将着眼于执行复选框双向数据绑定的不同方法。
在 AngularJS 中重新加载页面
发布时间:2023/04/14 浏览次数:142 分类:Angular
-
我们可以借助 windows.location.reload 和 reload 方法在 AngularJS 中重新加载页面。
在 AngularJs 中设置 Select From Typescript 的默认选项值
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程提供了在 AngularJs 中从 TypeScript 中设置 HTML 标记选择的默认选项的解释性解决方案。
在 AngularJS 中启用 HTML5 模式
发布时间:2023/04/14 浏览次数:150 分类:Angular
-
本文讨论如何在 AngularJS 应用程序上启用带有深度链接的 HTML5 模式。
在 AngularJs 中加载 spinner
发布时间:2023/04/14 浏览次数:107 分类:Angular
-
我们将介绍如何在请求加载时添加加载 spinner,并在 AngularJs 中加载数据时停止加载器。
在 Angular 中显示和隐藏
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程演示了 Angular 中的显示和隐藏。在开发商业应用程序时,我们需要根据用户角色或条件隐藏一些数据。我们必须根据该应用程序中的条件显示相同的数据。
在 Angular 中下载文件
发布时间:2023/04/14 浏览次数:104 分类:Angular
-
本教程演示了如何在 angular 中下载文件。我们将介绍如何通过单击按钮在 Angular 中下载文件并显示一个示例。