为什么最后要遍历res重新赋值?

来源:11-5 JavaScript 实现:归并排序

蛋挞狂魔

2021-03-12

res.forEach((n, i) => {

    this[i] = n;

}

这里没有弄懂

写回答

1回答

lewis

2021-03-12

因为要修改原数组,仔细听课程哈

0
2
我是传奇1122
回复
蛋挞狂魔
let self = this; res.forEach((cur, index) => { // this指向全局,即 数组实例 console.log(this === self); // 修改数组实例 this[index] = cur; }); 这里的 this 指调用 mergeSort() 的实例,如 a.mergeSort() 中的a; res 是排序后得到的一个新数组,直接返回的话原数组 a 并没有改变。
2021-05-28
共2条回复

JavaScript版数据结构与算法 轻松解决前端算法面试

夯实算法基础,填补技术短板,助力面试考题最后一公里

2479 学习 · 683 问题

查看课程