JS中sort()方法返回值?
参考
https://segmentfault.com/q/1010000043489928
精辟解释
就是说 sort()
会修改原数组项的排序,sort()
结束后会返回一个数组结果,这个结果其实就是原数组。并不是说会返回一个新的数组。
原理讲解
JS
分为栈内存和堆内存,栈内存可以存储变量基础类型数据和堆内存地址,堆内存可以存复杂数据。
数组数据是存在堆内存中的,栈内存中存储的变量对应的只是堆内存中的地址。
newArr = list
就相当增加一个变量 newArr -> ADDR1
和 list -> ADDR1
指向同一个堆内存地址。
什么是引用?
引用就是别名。同样是指向 ADDR1,可以是 list,newArr, list1 任意变量,都是它的引用。
大概意思就是,返回引用就是返回一个新的 newAr
地址,这个地址指向被修改的原数据。
即:
var newArr = list.sort(....)