我正在尝试通过进行以下练习来练习:
编写一个函数,它接受一个数值数组并返回一个包含两个数组的对象。第一个应该按升序排列元素,第二个应该按降序排列元素。
这是没有验证部分的代码(我知道这不会造成任何麻烦):
function ascDesc(arr) {
let ascending = arr.sort((a,b) => a - b);
let descending = arr.sort((a,b) => b - a);
console.log({ ascending, descending });
}
ascDesc([7,5,2,7,8,6,10,-10]);
这将返回以相同方式排序的两个数组。我知道.sort()
不会返回新数组,我假设这与此有关,但我仍然不明白为什么会这样,因为我将内容存储在两个单独的变量中。
有人可以帮我理解吗?我已经通过在方法.map(e => e)
之前添加来解决它.sort()
。尝试在此处进行谷歌搜索,但似乎找不到答案,MDN 也无济于事。
翻阅古今
慕码人2483693
相关分类