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

做者:Guest Contributor
译者:前端小智
来源:stackabuse
点赞再看,微信搜索 大迁世界,B站关注 前端小智这个没有大厂背景,但有着一股向上积极心态人。本文 GitHub https://github.com/qq44924588... 上已经收录,文章的已分类,也整理了不少个人文档,和教程资料。

简介

数组是一种线性数据结构,能够说是编程中最经常使用的数据结构之一。修改数组是一种常见的操做,这里,咱们来讨论如何在 JS 中数组的任何位置添加元素。javascript

元素能够添加到数组中的三个位置前端

  • 开始/第一个元素
  • 结束/最后元素
  • 其余地方

clipboard.png

接着,咱们一个一个过一下:java

数组对象中的unshift()方法将一个或多个元素添加到数组的开头,并返回数组的新长度:git

const startArray = [3, 4, 5];
const newLength = startArray.unshift(2);
console.log(newLength); 
console.log(startArray);

startArray.unshift(-1, 0, 2);
console.log(startArray);

上面输出的结果:github

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[, ...]]]])
  • start-开始修改数组的索引。
  • deleteCount -从start 删除的数组中可选的项目数。若是省略,则start后的全部项目都将被删除。
  • item1, item2, ...-从start 添加到数组的可选项目。 若是省略,它将仅从数组中删除元素。

咱们看一下slice()的另外一个示例,在该示例中咱们同时添加和删除数组。 咱们将在第二个位置添加 '周三',可是咱们还将在该处删除错误的周末值:

const weekdays = ['周一', '周三', '周六', '周日', '周四', '周五']
const deletedArray = weekdays .splice(2, 2, '周二');

console.log(weekdays);
console.log(deletedArray);

上面输出的结果:

["周一", "周三", "周二", "周四", "周五"]
["周六", "周日"]

总结

在本文中,咱们研究了 JS 中能够向数组添加元素的多种方法。 咱们能够使用 unshift() 将它们添加到开头。 咱们能够使用索引,pop()方法和concat()方法将它们添加到末尾。 经过splice()方法,咱们能够更好地控制它们的放置位置。


代码部署后可能存在的BUG无法实时知道,过后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给你们推荐一个好用的BUG监控工具 Fundebug

原文:https://stackabse.com/javascr...

交流

文章每周持续更新,能够微信搜索「 大迁世界 」第一时间阅读和催更(比博客早一到两篇哟),本文 GitHub https://github.com/qq449245884/xiaozhi 已经收录,整理了不少个人文档,欢迎Star和完善,你们面试能够参照考点复习,另外关注公众号,后台回复福利,便可看到福利,你懂的。

相关文章
相关标签/搜索