下面js数组的方法中,哪些方法不能改变自身数组?
A
pop
B
splice
C
sort
D
concat
正确答案:D
pop()方法用于删除数组的最后一个元素,并返回被删除的最后一个元素,这样的话数组就被改变了。
splice()方法可以对数组中已经存在元素进行删除,也可以添加元素到数组中。
sort()方法对数组中所有的元素都进行排序,如果没有提供比较函数compareFunction,则按照字符串的Unicode码的顺序进行排序。 所以以上三种方法都改变了数组。
而 concat()方法用于连接两个或多个数组。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本,返回一个新的数组。
该数组是通过把所有的arrayX参数添加到arryaObject中生成的,如果要进行 concat()操作的参数是数组,那么添加的是数组中的元素,而不是数组。
concat是纯函数
数组的方法中,改变原数组的有:push、pop、unshift、shift、sort、splice、reverse;
不改变原数组的有:concat、join、toString、slice