作者:Guest Contributor
译者:前端小智
起源:stackabuse
点赞再看,微信搜寻【大迁世界】,B站关注【前端小智】这个没有大厂背景,但有着一股向上踊跃心态人。本文 GitHub
https://github.com/qq44924588... 上曾经收录,文章的已分类,也整顿了很多我的文档,和教程材料。
简介
数组是一种线性数据结构,能够说是编程中最罕用的数据结构之一。批改数组是一种常见的操作,这里,咱们来探讨如何在 JS 中数组的任何地位增加元素。
元素能够增加到数组中的三个地位
- 开始/第一个元素
- 完结/最初元素
- 其余中央
接着,咱们一个一个过一下:
数组对象中的unshift()
办法将一个或多个元素增加到数组的结尾,并返回数组的新长度:
const startArray = [3, 4, 5];const newLength = 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
这一技巧。
const indexArray = [1, 2, 3];console.log(indexArray.length);console.log(indexArray[2]);console.log(indexArray[3]);indexArray[indexArray.length] = 4console.log(indexArray);
下面输入的后果:
33undefined[ 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和欠缺,大家面试能够参照考点温习,另外关注公众号,后盾回复福利,即可看到福利,你懂的。