我们在处理数组的时候,如果想要删除干净一个数组按照正常的方式肯定是循环遍历,然后一个一个的将其删除掉,但在实际操作中会出现删除不干净的情况,这就是数组塌陷,下面小千介绍几种解决办法,记得收藏哦~

解决数组塌陷的办法

1.设置删除起始位置为0

想删除干净,需要将数组的长度先单独保存(let length=arr.length),不然数组的长度会随着数组的变化而变化,从而4>3,后面三个删除不了,例:

2.从后面开始删除,倒着删除

由图可知,数组元素删除干净,删除最后的元素即使影响数组的长度,但是它依旧是删除最后一个,直到删除干净为止

3.让i永远成为0,永远删除的是第一个元素

由图可知,数组删除干净,删除的总是第一个元素,即使数组塌陷它总会存在一个元素直到删除干净为止。

闭包中let和var的区别


我们打印的i是一个全局变量,从undefind可以看出我们声明了一个i但是未定义,而且输出的结果为5次5,一次性就完成了

由图可知,输出报错,i未定义,我们把console.log(i)关闭

总结:

let会自动生成一个闭包,而var不

let暂时性死区 TDZ

let不允许重复声明,同一作用域内只能声明一次

let新增的块级作用域

for(作用域A){作用域B} 循环的应用

本文来自千锋教育,转载请注明出处。

web前端数组塌陷的解决办法相关推荐

  1. 前端----高度塌陷及解决办法(最详细解)

    高度塌陷产生原因: 在浮动布局中,父元素的高度默认被子元素撑开,当子元素浮动后,其会完全脱离文档流,子元素从文档流中脱离将会无法撑起父元素的高度,导致父元素的高度丢失. 解决高度塌陷缘由: 由于高度塌 ...

  2. 图解Myeclipse 导入Java Web项目报错的解决办法听语音

    图解Myeclipse 导入Java Web项目报错的解决办法听语音 https://jingyan.baidu.com/article/046a7b3e953ef3f9c27fa93d.html

  3. 向sqlserver数据库中传递类似数组的参数解决办法

    向sqlserver数据库中传递类似数组的参数解决办法 关于sqlserver数据库存储过程传递varchar类型参数(后端给出参数格式 '1,2,3').但是查询始终没有结果,但是直接写在语句中确实 ...

  4. web前端数组处理之数组去重

    在web前端开发过程中避免会遇到很多数组需要处理,经常出现的问题就是数组去重,今天小千就来给大家介绍一下几种常见的数组去重的方式,大家可以学习一下以备不时之需. 数组去重概念:去除数组中重复重新的值 ...

  5. ADC+DMA 目标数组无更新 解决办法

    直接上代码 /* USER CODE BEGIN Header */ /**************************************************************** ...

  6. 【Css】使用float:left浮动后,导致后面div高度“塌陷”的解决办法(示例和图示)

    正确的样式:在父元素中增加一条:overflow:hidden; 错误的样式: 上图,当"精选推荐"的span使用float:left后,后面的div线顶上去了. 解决办法: 在父 ...

  7. 什么是高度塌陷 以及高度塌陷的解决办法

    什么是高度塌陷? 当父元素高度自适应,子元素浮动后,造成父元素高度为0,称为高度塌陷. 高度塌陷怎么解决? 方法一:给父元素一个固定的高度 缺点:给父元素固定高度违背了高度自适应的原则,不够灵活,不推 ...

  8. web常见页面错误代码及解决办法

    转自:微点阅读   https://www.weidianyuedu.com 首先是412错误:打开当前调用的ajax方法,查看请求类型是post还是get,一般来说post的话改成get请求就可以解 ...

  9. STM32F7 ADC+DMA 目标数组无更新 解决办法

    这个文章仅做思路查看 具体解决看这里 https://blog.csdn.net/qq_39665253/article/details/122089946 使用CUBE+KEIL编程 查看文章如下 ...

最新文章

  1. java薪资年龄交叉表_巧用参数实现交叉表行列互换
  2. LeetCode 2177. 找到和为给定整数的三个连续整数
  3. 用Netty撸一个心跳机制和断线重连!
  4. scala初学之Tuple、Array、Map、文件操作入门实战
  5. js中将字符串作为函数名来调用的方法
  6. co2激光切割机控制系统上位机C#源码,stm32f407控制板源码,可用于雕刻机,切割机,写字机,点胶机
  7. 线性代数之五:正交性
  8. 关于第三方支付,看这篇文章就够了!
  9. c语言小兔子原来有1个萝卜,小兔子和小狐狸的100个睡前晚安小故事
  10. 巅峰战舰正在连接服务器,人气冲天《巅峰战舰》火爆连续加开服务器
  11. python里2f是啥意思_Python 字符串前面加u,r,b,f的含义
  12. wlan网页登录认证原理
  13. OSChina 周五乱弹 ——下完雨朕的江山都湿了
  14. js学习笔记(1)之document.write()方法使用总结
  15. 需求分析-需求调研步骤和方法
  16. 任意用户密码重置的10种常见姿势
  17. 一分钟搞懂X86架构
  18. 联盟优势电信服务器,中国电信积极推进OLA联盟行业技术标准制定 加速智能家居互联互通...
  19. gradle教程(一)
  20. centOS7下 安装nodejs+nginx+mongodb+pm2部署vue项目

热门文章

  1. 20分钟教你手写Sping MVC
  2. springmvc多个视图解析器管理跳转资源
  3. Docker笔记整理
  4. 儿童手表怎么删除联系人_儿童节来了,送孩子400多元的超值礼物,儿童手表9X评测分享...
  5. spring 事务说明
  6. 多硬盘的引导文件boot.ini
  7. Java15-day06【Set、HashSet、LinkedHashSet、TreeSet、Comparable、Comparator、泛型类、可变参数的使用】
  8. Spring请求参数校验
  9. Unable to execute dex: Multiple dex files define Lcom/kenai/jbosh/AbstractAttr
  10. kmp字符串查询算法