javascript中数组元素删除方法splice,用在for循环中巨坑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中数组元素删除方法splice,用在for循环中巨坑相关的知识,希望对你有一定的参考价值。

一、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循环中巨坑的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript如何实现对数组元素的插入、删除、替换

javascript中,知道一个值,如何删除数组中的这个值的元素。

javascript 使用Splice()从数组中删除元素

JS删除指定下标的元素

js删除数组中的元素delete和splice的区别

JavaScript中的 函数splice() 的使用。