JS中sort()方法返回值?

参考

https://segmentfault.com/q/1010000043489928

精辟解释

就是说 sort() 会修改原数组项的排序,sort() 结束后会返回一个数组结果,这个结果其实就是原数组。并不是说会返回一个新的数组。

原理讲解

JS 分为栈内存和堆内存,栈内存可以存储变量基础类型数据和堆内存地址,堆内存可以存复杂数据。

数组数据是存在堆内存中的,栈内存中存储的变量对应的只是堆内存中的地址。

newArr = list 就相当增加一个变量 newArr -> ADDR1list -> ADDR1 指向同一个堆内存地址。

什么是引用?
引用就是别名。同样是指向 ADDR1,可以是 list,newArr, list1 任意变量,都是它的引用。

大概意思就是,返回引用就是返回一个新的 newAr 地址,这个地址指向被修改的原数据。

即:

var newArr = list.sort(....)
posted @ 2023-03-13 21:01  轻风细雨_林木木  阅读(106)  评论(0编辑  收藏  举报  来源