如何将元素插入数组的指定索引?

4

[ 2, 3, 4, 5 ]

[ -1, 0, 2, 2, 3, 4, 5 ]

将元素添加到数组的末尾


使用数组的最后一个索引

要在数组末尾添加元素,可以使用数组的长度总是比下标小1这一技巧。

const indexArray = [1, 2, 3];

console.log(indexArray.length);

console.log(indexArray[2]);

console.log(indexArray[3]);

indexArray[indexArray.length] = 4

console.log(indexArray);

上面输出的结果:

3

3

undefined

[ 1, 2, 3, 4 ]

数组的长度是3,第二个元素是3。没有第三个元素,所以我们用undefined开头。最后,在该位置插入值4

使用 push() 方法

数组的push()方法将一个或多个元素添加到数组的末尾。就像unshift()一样,它也会返回数组的新长度

const pushArray = [1, 2, 3]

const newLength = pushArray.push(4, 5, 6, 7);

console.log(newLength);

console.log(pushArray);

上面输出的结果:

7

[ 1, 2, 3, 4, 5, 6, 7 ]

使用 concat() 方法

通过数组的concat()方法实现两个或更多数组的合并。 它创建新的副本,且不影响原始数组。 与以前的方法不同,它返回一个新数组。 使用该方法,要连接的值始终位于数组的末尾。

const example1Array1 = [1, 2, 3];

const valuesToAdd = [4, 5, 6];

const example1NewArray = example1Array1.concat(valuesToAdd);

console.log(example1NewArray);

console.log(example1Array1);

上面输出的结果:

[ 1, 2, 3, 4, 5, 6 ]

[ 1, 2, 3 ]

我们可以将一个数组与一系列值连接起来:

const array = [1,2,3];

const newArray = array.concat(‘12’, true, null, 4,5,6,‘hello’);

console.log(array);

console.log(newArray);

上面输出的结果:

[ 1, 2, 3 ]

[ 1, 2, 3, ‘12’, true, null, 4, 5, 6, ‘hello’ ]

可以将一个数组与多个数组连接起来:

const array1 = [1, 2, 3];

const array2 = [4, 5, 6];

const array3 = [7, 8, 9];

const oneToNine = array1.concat(array2, array3);

console.log(oneToNine);

上面输出的结果:

[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

在数组的任何位置添加元素


现在我们将讨论一个masterstroke方法,它可以用于在数组的任何位置添加元素——开始、结束、中间和中间的任何位置。

splice()方法添加,删除和替换数组中的元素。 它通常用于数组管理,此方法不会创建新数组,而是会更新调用它的数组。

我们来看看splice()的实际应用。这里有一个weekdays数组,现在,我们想在'周二''周四'之间添加一个'周三'元素

const weekdays = [‘周一’, ‘周三’, ‘周四’, ‘周五’]

const deletedArray = weekdays.splice(2, 0, ‘周二’);

console.log(weekdays);

console.log(deletedArray);

上面输出的结果:

[“周一”, “周二”, “周三”, “周四”, “周五”]

[]

分析一下上面的代码。我们想在weekdays数组的第二个位置添加'周二'。这里不需要删除任何元素。weekdays.splice(2, 0, 'wednesday')被读取为第二个位置,不移除任何元素并添加'周二'

下面是使用splice()的一般语法:

let removedItems = array.splice(start[, deleteCount[, item1[, item2[, …]]]])

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+点击【学习资料】即可免费领取!

**

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

[外链图片转存中…(img-SIKJhtZj-1713766251055)]

最后

由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+点击【学习资料】即可免费领取!

[外链图片转存中…(img-LAqrRDNb-1713766251055)]

[外链图片转存中…(img-tNhbWkfM-1713766251055)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值