在各种位置对数组元素进行操作,JS编程从基础开始学
author:一佰互联 2019-03-27   click:145

简介:图片与内容无关1.数组的创建创建数组上述三种方式创建的数组没有区别,使用自己习惯的方式就行。因为JavaScript中数组默认都是变长的,即可以在使用时动态为它添加元素或删除元素,同时它的长度会随之改变。2.数组元 ...

在各种位置对数组元素进行操作,JS编程从基础开始学

图片与内容无关

1.数组的创建

在各种位置对数组元素进行操作,JS编程从基础开始学

创建数组

上述三种方式创建的数组没有区别,使用自己习惯的方式就行。因为JavaScript中数组默认都是变长的,即可以在使用时动态为它添加元素或删除元素,同时它的长度会随之改变。

2.数组元素的修改

修改数组元素最基本的方式是直接使用索引,比如 a1[0] = 10 可以为索引0(即第一个元素)赋值为 10。由于JavaScript的特性,你可以指定任意一个索引值,不超过Number.MAX_VALUE的值,比如 a1.length = 3 ,使用 a1[10] = 10 为索引10赋值,那么中间的7个值都将自动赋值为 undefined,示例:

在各种位置对数组元素进行操作,JS编程从基础开始学

下标方式修改数组元素

(1) push([val1,va2,…]) 方法 注意上面[]不是新建数组的意思,而是说明val1,val2等参数是可选的,即可以有也可以没有。该方法将一个或多个值加入数组的末尾,并返回新的数组的长度,示例:

在各种位置对数组元素进行操作,JS编程从基础开始学

push方法

结果:

在各种位置对数组元素进行操作,JS编程从基础开始学

push方法结果

(2) unshift([val1,val2,…]) 方法 该方法将一个或多个值加入到数组的开头,并返回新数组的长度,示例:

在各种位置对数组元素进行操作,JS编程从基础开始学

unshift方法

结果:

在各种位置对数组元素进行操作,JS编程从基础开始学

unshift方法结果

本文使用的示例都是了Integer类型,当然你也可以使用任何其他的类型,即使在同一个数组包含不同的类型也可以。但注意如果不是有特殊需求,不要将 数组 放进push或unshift中,因为这样并不会将数组中的元素加进去,而是将数组的引用放了进去。(3) pop() 方法 删除数组的最后一个元素,并返回该值,示例:

在各种位置对数组元素进行操作,JS编程从基础开始学

pop方法

结果:

在各种位置对数组元素进行操作,JS编程从基础开始学

pop方法结果

(4) shift() 方法 删除数组的第一个元素,并返回该值,示例:

在各种位置对数组元素进行操作,JS编程从基础开始学

shift方法

结果:

在各种位置对数组元素进行操作,JS编程从基础开始学

shift方法结果

(5) splice(index[,num[,val1,val2,…]]) 方法 该方法向数组中添加或删除元素,返回被删除的元素的数组,如果没有删除元素,则返回空数组。 index参数表示开始删除的位置; num参数表示从index索引开始删除几个元素,如果为0,表示不删除元素; val1,val2,…可以添加任意个,表示删除原先的位置,之后填充的元素,示例:不添加num和val1等参数:

在各种位置对数组元素进行操作,JS编程从基础开始学

单参数使用splice方法

结果:

在各种位置对数组元素进行操作,JS编程从基础开始学

上述方法从索引0开始,默认删除了0之后所有元素,注意 该方法直接操作源数组对象。添加num参数,不添加val1等参数:

在各种位置对数组元素进行操作,JS编程从基础开始学

双参数使用splice方法

结果:

在各种位置对数组元素进行操作,JS编程从基础开始学

指定num=0时,不删除任何元素,因此a1返回结果为空数组;指定num=2时,删除了从索引0开始的2个元素,因此a2返回 [1,2]。添加所有参数:

在各种位置对数组元素进行操作,JS编程从基础开始学

多个参数时使用splice方法

在各种位置对数组元素进行操作,JS编程从基础开始学

由于num=0,所以a没有删除任何元素,a1的值为空数组;同时指定了3个val参数 7,8,9 ,那么他们将填充在从索引0开始的位置,这里即加入到了数组开头。(6) concat(array1[,array2,….]) 方法 该方法可以将一个或多个数组连接起来,并返回一个新的数组,示例:

在各种位置对数组元素进行操作,JS编程从基础开始学

concat方法

结果:

在各种位置对数组元素进行操作,JS编程从基础开始学

concat方法结果

本文仅代表作者个人观点,不代表巅云官方发声,对观点有疑义请先联系作者本人进行修改,若内容非法请联系平台管理员,邮箱2522407257@qq.com。更多相关资讯,请到巅云www.yinxi.net学习互联网营销技术请到巅云建站www.yx10011.com。