将数组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