空数组的串联如何防止排序突变?

时间:2018-09-30 14:18:54

标签: javascript arrays

空数组arr.concat([])的串联如何防止初始数组的突变?

var globalArray = [5, 6, 3, 2, 9];
function nonMutatingSort(arr) {
  return arr.concat([]).sort((a, b) => a - b);
}
nonMutatingSort(globalArray);

1 个答案:

答案 0 :(得分:2)

  

concat()方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。

     

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat

因此,这是创建新数组的捷径,该数组基本上只包含原始数组中的所有内容(加上空数组中的所有内容,即没有内容)。