以下哪些Array对象的方法不会更改原有数组?

发布时间 2023-11-10 17:39:55作者: 龙陌

以下哪些Array对象的方法不会更改原有数组?

A
concat()
B
splice()
C
map()
D
sort()

正确答案:AC

会改变数组的方法:
push()
pop()
shift()
unshift()
splice()
sort()
reverse()
forEach()

不会改变数组的方法:
filter()
concat()
slice()
map()

concat函数连接多个array,不改变原array,返回连接的结果

map函数对array中的每一项执行指定函数,将每一项执行的结果组成新的array返回

sort() 方法用原地算法对数组的元素进行排序,并返回数组,所以会改变原数组

splice函数对array进行操作,会改变array

一般在使用sort或者reverse等可以改变数组内顺序的函数时,我们是不需要赋值给新的变量的,直接a.sort()即可,数组内的顺序已经改变了

如果想要想要将返回值赋值给变量b,如图所示,b===a,所以sort函数并没有返回一个新的数组

本题”是否更改原始数组“本质上问的不是数组的值发生变化了没有,而是是不是返回了新的数组,所以不选sort