将一个数组进行翻转

这个是我在牛客网中看到的一个题目,这个题目中就是求一个数组的翻转的方式,正好友好多人在下面评论了,我总结下这些评论。关于数组的一些操作。

题目:将数组var  a = [1, 2, 3]变成数组[4, 3, 2, 1]的正确方式?

A、a.reserse().unshift(4)   B、a.push(4).reserve()   C、a.push(4),  a.reserve()  D 、a.splice(3 , 1, 4).reserve()

根据下面的知识点的解题思路:

A选项,a.reverse()后返回值即数组a变成[3,2,1],再使用unshift()方法在数组开头添加一个4,a数组就变成了[4,3,2,1]。注,unshift()返回新数组的长度,此处为4。正确。

B选项,push()方法返回新数组的长度,是一个number类型,不是数组,所以不能再用“.”操作符继续执行reverse()方法。错误。

C选项,正确。

D选项,splice()语法:arrayObject.splice(index,howmany,item1,.....,itemX)。

参数:

index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。

howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。


以下这几个是不改变原数组:

1、 concat()

连接两个或多个数组

不改变原数组

返回被连接数组的一个副本

2、join()

把数组中所有元素放入一个字符串

不改变原数组

返回字符串

3、 slice()

从已有的数组中返回选定的元素

不改变原数组

返回一个新数组

4、 toString()

把数组转为字符串

不改变原数组

返回数组的字符串形式


以下这几个是改变原数组:

5、 pop()

删除数组最后一个元素,如果数组为空,则不改变数组,返回undefined

改变原数组

返回被删除的元素

6、 push()

向数组末尾添加一个或多个元素

改变原数组

返回新数组的长度

7、 reverse()

颠倒数组中元素的顺序

改变原数组

返回该数组

8、 shift()

把数组的第一个元素删除,若空数组,不进行任何操作,返回undefined

改变原数组

返回第一个元素的值

9、 sort()

对数组元素进行排序(ascii)

改变原数组

返回该数组

10、 splice()

从数组中添加/删除项目

改变原数组

返回被删除的元素

11、 unshift()

向数组的开头添加一个或多个元素

改变原数组

返回新数组的长度



猜你喜欢

转载自blog.csdn.net/qq_28081081/article/details/80726513
今日推荐