将数组var a=[1,2,3] 变成数组[4,3,2,1] 下面的方式正确的是?

a.reverse().unshift(4)

a.push(4).reverse()

a.push(4); a.reverse()

a.splice(3,1,4).reverse()

想要做对这道js题目,就要对数组中常用方法的作用和返回值熟悉。下面摘录一下牛客网上的一个回答:

Array对象常用方法中:

不改变原数组:

1、 ()

2、join()

3、 slice()

4、 ()

改变原数组:

5、 pop()

6、 push()

7、 ()

8、 shift()

9、 sort()

10、 ()

11、 ()

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

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

C选项:正确。

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

参数:

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

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

item1, ..., itemX:可选。向数组添加的新项目。

返回值:

Array:包含被删除项目的新数组,如果有的话。

由于a.(3,1,4)中的index为3,超过了数组a的下标js数组,所以3后面的1也不会起作用。a.(3,1,4)会将4插入到数组a末尾。但()返回值是被删除项目的新数组js数组,由于a.(3,1,4)并没有删除元素,所以返回的新数组为空,对空数组()还是空。(如果D选项改成a.(3,1,4);a.()就正确了。)错误。

所以正确答案为:AC。

看完了上面的解释,再看看这道题:

请问下面哪种方式可以在不改变原来数组的情况下,拷贝出数组 b ,且满足 b!=a 。例如数组 a 为 [1,2,3] 。

let b=a;

let b=a.slice();

let b=a.splice(0,0);

let b=a.concat();

你的答案是什么?

记得把这道题目发到你的朋友圈,让更多人的人帮你看看这个答案是什么哦。

晚上公布答案。

猜对的群主会邀请你进入一个刷题的QQ群,有兴趣可以参与。坚持每天分享和刷题。


限时特惠:
本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情

站长微信:Jiucxh

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注