加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

JS-关于清空数组的三种方法讨论

发布时间:2020-12-15 00:42:51 所属栏目:C语言 来源:网络整理
导读:方法一:splice 方法二:array.length=0 方法三:array赋值为[] 对比 splice方法产生的结果性质同ary.length=0 ary.length=0保留了数组其他属性,但是如果数组有副本(bry=ary),则副本内容也被清空,即使之前对副本内容进行了修改增删,同样会被清空 ary=[

方法一:splice

方法二:array.length=0

方法三:array赋值为[]


对比

  • splice方法产生的结果性质同ary.length=0

  • ary.length=0保留了数组其他属性,但是如果数组有副本(bry=ary),则副本内容也被清空,即使之前对副本内容进行了修改增删,同样会被清空

  • ary=[]分配一个新的数组变量,不会对其他副本产生影响,但是原数组会留在内存中,如果没有引用则会等待垃圾回收,这样可能会导致内存泄露

  • 进过测试对比,方法三比方法二执行速度更快,效率更高,但是从内存性能来看方法二比较稳妥,具体是用哪个还需要再探究

  • 代码说明

var foo = [1,3];
var bar = [1,3];
var foo2 = foo;
var bar2 = bar;
foo = [];
bar.length = 0;
console.log(foo,bar,foo2,bar2);
//[] [] [1,3] []

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读