当前位置: 首页 > 科技观察

如何在指定索引处将元素插入到数组中?

时间:2023-03-22 12:36:47 科技观察

本文已获得原作者客座投稿人授权翻译!简介数组是一种线性数据结构,可以说是编程中最常用的数据结构之一。修改数组是一个很常见的操作,这里我们就来探讨下如何在JS中向数组的任意位置添加元素。数组的三个位置可以添加元素Start/Firstelementend/Lastelement其他地方1111接下来我们一一过一遍:array,并返回数组的新长度:conststartArray=[3,4,5];constnewLength=startArray.unshift(2);console.log(newLength);console.log(startArray);startArray.unshift(-1,0,2);console.log(startArray);上面输出的结果:4[2,3,4,5][-1,0,2,2,3,4,5]添加元素到数组末尾使用数组的最后一个索引在数组末尾添加一个元素,可以使用数组长度总是比下标少1的技巧。constindexArray=[1,2,3];console.log(indexArray.length);console.log(indexArray[2]);console.log(indexArray[3]);indexArray[indexArray.length]=4console.log(索引数组);上面输出的结果:33undefined[1,2,3,4]数组长度为3,第二个元素为3,没有第三个元素,所以我们从undefined开始。最后,值4被插入到该位置。使用数组的push()方法将一个或多个元素添加到数组的末尾。和unshift()一样,它也返回数组的新长度constpushArray=[1,2,3]constnewLength=pushArray.push(4,5,6,7);console.log(newLength);console.log(pushArray);上面输出的结果:7[1,2,3,4,5,6,7]使用concat()方法通过数组的concat()方法将两个或多个数组组合起来。它创建一个新副本而不影响原始数组。与前面的方法不同,它返回一个新数组。使用此方法,要连接的值始终位于数组的末尾。constexample1Array1=[1,2,3];constvaluesToAdd=[4,5,6];constexample1NewArray=example1Array1.concat(valuesToAdd);console.log(example1NewArray);console.log(example1Array1);上面输出的结果:[1,2,3,4,5,6][1,2,3]我们可以将一个数组与一系列值连接起来:constarray=[1,2,3];constnewArray=array.concat('12',true,null,4,5,6,'你好');控制台日志(数组);控制台日志(新数组);以上输出的结果:[1,2,3][1,2,3,'12',true,null,4,5,6,'hello']可以将一个数组与多个数组连接起来:constarray1=[1,2,3];constarray2=[4,5,6];constarray3=[7,8,9];constoneToNine=array1.concat(array2,array3);console.log(oneToNine);以上输出结果:[1,2,3,4,5,6,7,8,9]inAddingElementsAnywhereinanArray现在我们将讨论一种主线方法,可用于在数组中的任何位置添加元素-开头,结尾、中间和中间的任何地方。splice()方法添加、删除和替换数组中的元素。通常用于数组管理,该方法不创建新数组,而是更新调用它的数组。我们来看看splice()的实际应用。这是一个工作日数组,现在,我们要在“星期二”和“星期四”之间添加一个“星期三”元素2,0,'Tuesday');console.log(weekdays);console.log(deletedArray);上面输出的结果:["Monday","Tuesday","Wednesday","Thursday","Friday"][]分析上面的代码。我们想将“星期二”添加到工作日数组的第二个位置。这里不需要删除任何元素。weekdays.splice(2,0,'wednesday')被读取为第二个位置,不删除任何元素并添加'Tuesday'。下面是使用splice()的一般语法:letremovedItems=array.splice(start[,deleteCount[,item1[,item2[,...]]]])start-开始修改数组的索引。deleteCount-数组中要从开始删除的可选项目数。如果省略,将删除start之后的所有项目。item1,item2,...-从一开始就添加到数组中的可选项目。如果省略,它只会从数组中删除元素。让我们看一下slice()的另一个例子,我们同时添加和删除数组。我们将在第二个位置添加'Wednesday',但我们也会在那里删除错误的周末值:constweekdays=['Monday','Wednesday','Saturday','Sunday','Thursday','Friday']constdeletedArray=weekdays.splice(2,2,'Tuesday');console.log(weekdays);console.log(deletedArray);上面输出的结果:["Monday","Wednesday","Tuesday","Thursday","Friday"]["Saturday","Sunday"]总结在本文中,我们研究了在JS中向数组添加元素的各种方式。我们可以使用unshift()将它们添加到开头。我们可以使用index、pop()方法和concat()方法将它们添加到末尾。使用splice()方法,我们可以更好地控制它们的放置位置。结束~我是小智,我去洗碗了,下次见~作者:客座贡献者译者:前端小智来源:stackabuse原文:https://stackabse.com/javascript-how-to-inser-elements-into-a-specific-index-of-an-array/本文转载自微信公众号“大招天下”,可通过以下二维码关注。转载本文请联系大千世界公众号。