• JS-数组基础知识3


    此文转载自:https://blog.csdn.net/weixin_43254169/article/details/110250437#commentBox

    今天主要看下pop(),unshift(),shift().push(),这几个都属于数组的方法分别为,尾部删除/头部添加/头部删除/尾部添加
    在这里插入图片描述
    2.如何清空对象型数组
    对于清空数组,大家就想到把数组的length设置为0不就ok了,这个当然可以
    例如:var arr=[1,2,3,4]; arr.length=0;
    但是如果我们清空的是如下类型的数组呢?
    var data = [
    {id:1001,icon:‘img/1.png’,name:‘餐饮0’,num:1,price:10},
    {id:1002,icon:‘img/2.png’,name:‘餐饮1’,num:1,price:20},
    {id:1003,icon:‘img/3.png’,name:‘餐饮2’,num:12,price:30},
    {id:1004,icon:‘img/4.png’,name:‘餐饮3’,num:1,price:40},
    {id:1005,icon:‘img/5.png’,name:‘餐饮4’,num:1,price:50},
    {id:1006,icon:‘img/6.png’,name:‘餐饮5’,num:1,price:60},
    {id:1007,icon:‘img/7.png’,name:‘餐饮6’,num:1,price:70},
    {id:1008,icon:‘img/8.png’,name:‘餐饮7’,num:1,price:80},
    {id:1009,icon:‘img/9.png’,name:‘餐饮8’,num:1,price:90},
    {id:10010,icon:‘img/10.png’,name:‘餐饮9’,num:1,price:100},
    {id:10011,icon:‘img/11.png’,name:‘餐饮10’,num:1,price:110},
    ]
    当然,用data.length=0;数组也可以清空;//data.length=0;//[]
    但是数组清空,对象处于游离状态,和数组还有引用关系,没有把引用地址赋值为null,会导致内存泄漏
    于是,我们就采用了以下方法,发现数组里的数组是没有了,但是数组的长度依然不变,没有为0,因此,失败了在这里插入图片描述
    最后,采用以下方法,用shift()进行头部删除,这样数组为紧密型数组,每进行一次删除,数组长度减一
    在这里插入图片描述

    不足之处,欢迎大佬指正!!!

       

    更多内容详见微信公众号:Python测试和开发

    Python测试和开发

  • 相关阅读:
    讨论: TDD in HTML & JavaScript 之可行性和最佳实践
    Enterprise Caching Summary
    NIntegrate SOA Practice – EAppointments Sample Application
    This is jqMVC# Definition & Summary
    LRU Caching Practice
    NIntegrate v0.9.0.1 released
    CrossDomain AJAX Enabled WCF Service
    突然发现想在博客园发起一个有价值的讨论其实很难
    Discuss some new features in WCF 4.0
    This is jqMVC# – CNBLOGS Google Tracer Sample
  • 原文地址:https://www.cnblogs.com/phyger/p/14056011.html
Copyright © 2020-2023  润新知