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

JS中sort()方法返回值?

参考

https://segmentfault.com/q/1010000043489928

精辟解释

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

原理讲解

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

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

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

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

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

即:

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

相关文章:

  • Python雪花代码
  • 蓝桥杯第五天刷题
  • Python打包成exe,文件太大问题解决办法(比保姆级还保姆级)
  • ChatGPT的N种用法(持续更新中。。。)
  • vue3 构建属于自己的组件库dxui
  • 【AcWing】蓝桥杯备赛-深度优先搜索-dfs(2)
  • 28岁小公司程序员,无车无房不敢结婚,要不要转行?
  • IP协议+以太网协议
  • linux进程管理
  • 每天学一点之Lambda表达式
  • Linux常用命令
  • 植物大战 仿函数——C++
  • 自动写代码?别闹了!
  • Linux中sudo,su与su -命令的区别
  • 因为锁的问题,我们被扣了1万
  • 当我尝试问了chatGPT几个问题之后,我感到了危机......
  • Spring 事务管理详解及使用
  • 第十四届蓝桥杯三月真题刷题训练——第 9 天
  • 【C语言】指针的深度理解(一)
  • python带你成功复刻热门手机游戏——飞翔的小鸟
  • https://app.hackthebox.com/machines/Inject
  • Spring —— Spring简单的读取和存储对象 Ⅱ
  • 渗透测试之冰蝎实战
  • Mybatis、TKMybatis对比
  • Microsoft Office 2019(2022年10月批量许可版)图文教程
  • 《谷粒商城基础篇》分布式基础环境搭建
  • 哈希表题目:砖墙
  • Vue 3.0 选项 生命周期钩子
  • 【车载嵌入式开发】AutoSar架构入门介绍篇
  • 【计算机视觉 | 目标检测】DETR风格的目标检测框架解读