某天做力扣每日一题时遇到大佬的解法:一次遍历 + 哈希表 - 用户分组 - 力扣(LeetCode)
arr.length=0的应用点主要是完全清空字面量指向的真实数组
我们知道在js中,引用类型相对应的自变量实际上是在栈内存中储存了地址,指向堆内存中真实的数据
假设现有一个不空的数组arr
当我们使用 arr=[]时,实际上是为arr重新赋值为一个空数组[]
此时arr原先储存的地址所指向的原数组仍然在内存中(可能导致内存泄露)
使用arr.length=0时:命令作用在真实数组,相当于直接将原数组清空
//使用arr作为模版用于循环中接收值:
res=arr
arr=[]
//等同于:
res=arr.slice()//copy
arr.length=0