js数组的length=0和直接赋值[ ],区别?

文章讨论了两种清空数组的方法——将length属性设为0和直接赋值为[]。使用length=0会保留原始数组引用,适合于需要节省内存的情况,但在多组件共享数组时可能导致数据不更新问题,例如在el-select组件中进行服务器搜索数据时可能出现的问题。
摘要由CSDN通过智能技术生成

在清空数组时,可选择 直接赋值为 [ ],但也可以利用 数组中 length 的属性,其实这两种都可以实现数组清空。

在往细分的话  假设使用 length=0,来清空数组的话,是把数组 截(斩)断  到  0  个元素,好处是还可以保留对原始数组的引用,缓存数组不需要重新分配内存时用,

而使用   数组赋值 [ ] 的话,实际上重新分配了一个新的空数组,

如果两个组件或者多个组件用的一个数组的话,那清空数组时就不应该用length=0,因为length=0保留对原始数组的引用,并没有重新分配内存,就会造成以组件内的数据不更新  在用  el-select  做从服务器搜索数据,输入关键字进行查找时发现。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值