当前位置: 首页 > news >正文

网站建设改版 gov.cn营销推广与策划

网站建设改版 gov.cn,营销推广与策划,者珠海市建设局网站,工商局网站建设方案就是很多时候我们对一个数组进行操作的时候,在for遍历的过程中删掉了一个元素,那么在删掉那个元素之后的所有元素的索引值都会减少一位,数组长度缩短一位,删完之后,正在进行的循环会继续循环下去,但是循环的…

就是很多时候我们对一个数组进行操作的时候,在for遍历的过程中删掉了一个元素,那么在删掉那个元素之后的所有元素的索引值都会减少一位,数组长度缩短一位,删完之后,正在进行的循环会继续循环下去,但是循环的索引不变,就会导致被删元素紧邻的后面那个元素跳过了循环检查。代码解释如下:

var arr=[1,2,3,3,4,5,6];
for(let i=0,len=arr.length;i<len;i++){
if(arr[i]===3){
arr.splice(i,1);
console.log(“抓到一个3”);
}
}

这个程序的意思就是在数组arr找出3来并把它删除,但是结果只打印了一次“抓到一个3”,就是说它只找到一个,而另外一个去哪了?请听下面分享。

循环从第一位开始检,找到3之后立马打印“抓到一个3”,此时的索引是2
[1,2,3 1,3 2,4,5,6]
而它后面那个3因为前面删掉一个,会往左挪一位,从索引3变成索引2了,而循环继续检查是从索引3开始,即对应数组中的4,直到结束。
[1,2,3 2,4,5,6]
所以第二个3是被漏掉了。

怎么解决这种问题呢?最好的办法是逆向循环(从数组的最后一位开始检查,直到数组的头部):

var arr=[1,2,3,3,4,5,6];
for(let len=arr.length,i=len-1;i>0;i–){
if(arr[i]===3){
arr.splice(i,1);
console.log(“抓到一个3”);
}
}

这样就可以打印出两次"抓到一个3"。如果你一味地想怎么把循环中的索引往回扳一位,这就显得非常复杂了。有时候逆向思维真的很好用。

http://www.dinnco.com/news/84612.html

相关文章:

  • 网上客服软件上海优化关键词的公司
  • 长春网长春网站建设站建设微信怎么推广找客源
  • 做网站商城百度知道网页版登录入口
  • 网站被劫持应该怎么做湖南网站设计
  • 手机网站 教程百度关键词优化系统
  • 房地产楼盘微信网站建设营销方案官方百度下载安装
  • 营销型企业网站核心seo搜索优化费用
  • 西部数码网站备案核验单网络软文发布
  • 哪里的郑州网站建设今日头条淄博新闻
  • 建设新闻网站百度快照是怎么做上去的
  • 长春建筑工程网福州seo公司
  • 国内做的比较好的跨境电商网站百度网盘客户端
  • 晚上必看的正能量网站武汉seo网站
  • 网站着陆页怎么做培训课程名称大全
  • 做网站有多难网站建设的意义和作用
  • 交易网站怎么做网站开发用什么软件
  • 做ic贸易去什么网站好搜索排行
  • 怎么下载自己做的网站电商怎么推广自己的产品
  • 仿模板电影网站百度指数网址
  • 南庄建网站找客户的十大方法
  • win7记事本做网站网络软文投放
  • 做网站用什么软件ps字体网络营销外包网络推广
  • 做房产网站哪个好想做电商应该怎么入门
  • 精品课程网站建设验收单服务器域名怎么注册
  • 手机网站建设文章流量推广app
  • 网站版权问题优化大师如何删掉多余的学生
  • 网站建设基础问题南宁seo外包服务
  • 帮别人做网站规划裂变营销五种模式十六种方法
  • WordPress会员VIP购买网站优化助手
  • 华为云建网站哪家培训机构学校好