zoukankan      html  css  js  c++  java
  • JS-数组基础知识3

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

    今天主要看下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测试和开发

  • 相关阅读:
    设计模式(十)—— 装饰者模式
    设计模式(九)—— 组合模式
    设计模式(八)—— 桥接模式
    设计模式(七)—— 适配器模式
    LINQ to XML
    设计模式(六)—— 单例模式
    设计模式(五)—— 原型模式
    Asp.Net程序目录下文件夹或文件操作导致Session失效的解决方案
    基于.Net平台常用的组件和框架整理
    Javascript中最常用的55个经典技巧(转)
  • 原文地址:https://www.cnblogs.com/phyger/p/14055983.html
Copyright © 2011-2022 走看看