提问人:RNdev 提问时间:12/4/2022 更新时间:12/4/2022 访问量:57
Javascript:为什么数组方法不返回新数组?
Javascript: Why don't array methods return a new array?
问:
我知道字符串上的方法返回新字符串的原因是字符串是不可变的,因此该方法无法修改您传递给它的字符串。
对于数组,如果将其传递给方法,则该方法可以修改数组,因为数组是可变的。我想知道为什么数组方法(以及其他可变类型的方法)不编写为返回新数组,以便它们与字符串等基元类型的方法一致。
例如,可以这样写:arr.map()
function map = (arr) => {
...<logic>...
}
可以这样写:
function map = (arr) => {
let arr_ = arr.slice()
...<logic>...
return arr_
}
可变类型的方法不是以这种方式编写的,这是有原因的吗?
答: 暂无答案
评论
.map()
.sort