一、demo

splice: 该方法会改变自动原始数组长度

实例:

 var array = ["aa","dd","cc","aa"];
//方法2:删除数组元素
array.splice(1,1);
//输出结果:["aa","cc","aa"]
getArray(array);

输出:aa

   cc

   aa

数组长度自动减一

二、实际业务场景中

在for循环中使y用 temp.splice(i, 1);

一定要记得跟着写i--

detect() {
      let temp = [];
      temp = this.tableBase;
      let userName = this.search;
      let count = 0;
      for (let i = 0; i < temp.length; i++) {
        if (!(temp[i].userName === userName)) {
          console.log(temp[i].userName);
          temp.splice(i, 1); //这种删除方式会自动更新长度,慎用
          i--;
          //delete temp[i];
          count++;
          console.log("删除");
        }
      }
      console.log(count);
      this.tableBase = temp;
      console.log(this.tableBase);
    },

javascript中数组元素删除方法splice,用在for循环中巨坑的更多相关文章

  1. JavaScript中数组元素删除的七大方法汇总

    原文链接:https://blog.csdn.net/u010323023/article/details/52700770 在JavaScript中,除了Object之外,Array类型恐怕就是最常 ...

  2. javascaipt中数组元素删除方法delete和splice

    一.用delete 删除数组中元素(少用) 说明:delete: 只是被删除的元素变成了 undefined ,即数组长度不变 //定义数组 var array=["aa",&qu ...

  3. javascript中数组Array的方法

    一.常用方法(push,pop,unshift,shift,join)push pop栈方法,后进先出var a =[1,2,3];console.log(a.push(40)); //4 返回数组的 ...

  4. javascript中数组常用的方法

    在JavaScript中,数组可以使用Array构造函数来创建,或使用[]快速创建,这也是首选的方法.数组是继承自Object的原型,并且他对typeof没有特殊的返回值,他只返回'object'. ...

  5. javascript中数组常用的方法和属性

    前言 在javascript中,数组是一种非常重要的数据类型,我们时常会和它打交道,最近在开发项目中频繁的使用到数组,但是自己对数组的众多方法已经是非常模糊了,为了方便自己以后能够更好的使用数组中的属 ...

  6. JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some、for in、for of

    JavaScript中有非常多数组迭代方法,这里基本上吧所有的都介绍全了,我项目中比较喜欢的是forEach. 7.for in (for-in循环实际是为循环对象而设计的,for in也可以循环数组 ...

  7. Javascript中数组的判断方法

    摘要: 1.数组检测的方法: 1) typeof . 2) instanceof . 3) constructor . 4) Object.prototype.toString. 5) Array.i ...

  8. javascript中数组的map方法

    map方法原型:array1.map(callbackfn[, thisArg]) 参数: array1,必选. 一个数组对象.该函数一般用于数组对象 callbackfn,必选. 最多可以接受三个参 ...

  9. javascript中数组的concat()方法 - 数组连接

    <html> <head> <title>数组的concat()方法</title> <script> /* 数组的concat()方法: ...

随机推荐

  1. sublime px转rem插件

    http://www.cnblogs.com/phoebewang00/p/5593699.html lime 插件- px 转rem   一个CSS的px值转rem值的Sublime Text 3自 ...

  2. 在成为测试大牛的路上,我推荐BestTest

    BestTest-Python自动化测试9月份班开始招生啦! 网络+现场同步进行,课程新升级,web自动化+接口自动化双管齐下,一线互联网测试开发工程师带你在自动化的世界里自由翱翔! 推荐优惠多多,欢 ...

  3. 【转】Django 模板语法

    转自:https://www.cnblogs.com/love9527/p/9077863.html Django 模板语法 一.模板 只要是在html里面有模板语法就不是html文件了,这样的文件就 ...

  4. python list,dic,json型字符串转为list,dict,json

    import ast strr='{"1":"A","3":"B"}' dicts= ast.literal_eval( ...

  5. day06—JavaScript之闭包

    转行学开发,代码100天——2018-03-22 第一次听说“闭包”这个词,还是在2015年某个深夜在听一节腾讯课堂的公开课上,当时老师讲什么已经没有清晰的记忆了,只知道是一次web的开发课程. 过了 ...

  6. 【Visual Studio】 使用EF、 Linq2Sql快速创建数据交互层(一)

    项目伊始,创建数据库交互层代码是底层框架的首要任务.常用的做法包括手动编码.Hibernate或者动软之类的代码生成器,而多数人忽略了.Net环境下VS提供的两套非常好用的数据层工具. EF和Linq ...

  7. MSSQL sql常用判断语句

    .判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名')    drop database [数据库名]  2 判断 ...

  8. LinkedList -链表集合

    package cn.learn.collection; import java.util.LinkedList; import java.util.Queue; /* java.util.xxx A ...

  9. 洛谷 P1731 [NOI1999]生日蛋糕(搜索剪枝)

    题目链接 https://www.luogu.org/problemnew/show/P1731 解题思路 既然看不出什么特殊的算法,显然是搜索... dfs(u,v,s,r0,h0)分别表示: u为 ...

  10. go 学习之bufio

    bufio模块通过对io模块的封装,提供了数据缓冲功能,能够一定程度减少大块数据读写带来的开销.实际上在bufio各个组件内部都维护了一个缓冲区,数据读写操作都直接通过缓存区进行.当发起一次读写操作时 ...