当前位置: 首页 > article >正文

JS中sort()方法返回值?

参考

https://segmentfault.com/q/1010000043489928

精辟解释

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

原理讲解

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

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

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

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

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

即:

var newArr = list.sort(....)

http://www.kler.cn/a/428.html

相关文章:

  • VMware虚拟机超详细安装Linux教程(最新版)
  • 从数据仓库到数据中台再到数据飞轮:电信行业的数据技术进化史
  • Linux复习4——shell与文本处理
  • 深度学习之超分辨率算法——FRCNN
  • WebAPI编程(第一天,第二天)
  • 【杂谈】-为什么Python是AI的首选语言
  • 高等数学——二重积分
  • 【JDK动态代理】及【CGLib动态代理】:Java的两种动态代理方式
  • 全网独家首发|极致版YOLOv7改进大提升(推荐)网络配置文件仅24层!更清晰更方便更快的改进YOLOv7网络模型
  • Linux中sudo,su与su -命令的区别
  • Qt之高仿QQ系统设置界面
  • springboot vue3 前端调用后端接口 传参问题
  • 每天学一点之Lambda表达式
  • 算法刷题总结 (四) 动态规划
  • 计算机组成原理(2.1)--系统总线
  • 关于ES6新特性的总结
  • Python基础—面向对象(超详版)
  • 理清gcc、g++、libc、glibc、libstdc++的关系
  • 乐吾乐2d可视化之智慧城市可视化(二)
  • UE实现建筑生长(材质遮罩方式)效果
  • java入门多线程一文通
  • async/await 用法
  • 接口文档包含哪些内容?怎么才能写好接口文档?十年测试老司机来告诉你
  • C/C++每日一练(20230314)
  • 为什么 Python 没有 main 函数?
  • CANoe中使用CAPL刷写流程详解(Trace图解)(CAN总线)