排名
                
                
                    6
                
            
                    文章
                
                
                    6
                
            
                    粉丝
                
                
                    16
                
            
                    评论
                
                
                    8
                
            
            {{item.articleTitle}}
            
    {{item.blogName}} : {{item.content}}
        
            ICP备案  :渝ICP备18016597号-1
        
        
            网站信息:2018-2025TNBLOG.NET
        
        
            技术交流:群号656732739
        
        
            联系我们:contact@tnblog.net
        
        
            公网安备: 50010702506256
50010702506256
        
     50010702506256
50010702506256
         
        
            欢迎加群交流技术
        
     分类:
    前端
    
    分类:
    前端
删除数组中指定的元素,原理上是不能直接删除指定的元素 要是可以直接删除的话绝对又bug 但是可以灵活的应用。
自定义函数删除:只适用在js,如果想在ts里搞这种类似的写法 自己去写
首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为:
    Array.prototype.indexOf = function(val) { 
        for (var i = 0; i < this.length; i++) { 
              if (this[i] == val) return i; 
                } 
            return -1; 
        }; 
然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素:
    Array.prototype.remove = function(val) { 
          var index = this.indexOf(val); 
                if (index > -1) { 
                this.splice(index, 1); 
                } 
        }; 
这样就构造了这样一个自定义的函数,好像有点含量,比如我有有一个数组:
var emp = ['abs','dsf','sdf','fd'];
假如我们要删除其中的 'fd' ,就可以使用:
emp.remove('fd');
输出结果:console.log(emp)
['abs','dsf','sdf']
ok 被删掉了
splice删除:js或ts都可以
var arr=new Array("aa","bb","cc","dd","ee","ff","gg");
console.log("原数组",arr);//["aa", "bb", "cc", "dd", "ee", "ff", "gg"]
console.log("找到指定元素的下标"arr.indexOf("ff"));//5
arr.splice(arr.indexOf("ff"),1);//后边的1代表删除这个位置开始删除1一个元素
console.log("删除后",arr);console.log("删除后",arr);//["aa", "bb", "cc", "dd", "ee", "gg"]
然后指定元素ff就被删掉了撒 我的天啊 这种方法困扰了我一个下午
评价
     
         
         
        