空数组arr.concat([])
的串联如何防止初始数组的突变?
var globalArray = [5, 6, 3, 2, 9];
function nonMutatingSort(arr) {
return arr.concat([]).sort((a, b) => a - b);
}
nonMutatingSort(globalArray);
答案 0 :(得分:2)
concat()
方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat
因此,这是创建新数组的捷径,该数组基本上只包含原始数组中的所有内容(加上空数组中的所有内容,即没有内容)。