删除数组条目中重复的条目(可能有多个)返回值是一个仅包含被删除的重复条目的新数组

最爱张金保

最爱张金保

2016-02-19 09:09

下面图老师小编要向大家介绍下删除数组条目中重复的条目(可能有多个)返回值是一个仅包含被删除的重复条目的新数组,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!
今日在bluediea看到淘宝在线招聘,相信淘宝的技术还是很牛的,于是赶紧打开看看题目并试着做做。
到了第三题时卡了偶老半天,并不是做不出来,感觉有很简便的方法但自己就是一时想不出来,不过费了九牛二虎之力终于完成本题,给出了一个另自己还比较满意的答案,欢迎各位朋友指点!

题目如下:
请给Array本地对象增加一个原型方法,它的用途是删除数组条目中重复的条目(可能有多个),返回值是一个仅包含被删除的重复条目的新数组。

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
代码如下:

Array.prototype.delRepeat=function() 
  { 
        var tmpArr=[],rs=[],i,val; 
        for(i=this.length;i0;i--) 
    { 
            val = this[i-1]; 
      if(!tmpArr[val]) 
      { 
                tmpArr[val]=1; 
            }else 
      { 
                rs.push(val); 
          this.splice(i-1,1); 
            } 
        } 
    tmpArr = null; 
        return rs; 
    } 

两个优点:
1、预先将this[i-1]保存在变量val中,减少访问次数。
2、使用array.push方法,替换用变量保存数组长度的办法。

很好!赞一个!
偶还顺便实现了对返回重复项的过滤,可能是对题意理解有偏差。
展开更多 50%)
分享

猜你喜欢

删除数组条目中重复的条目(可能有多个)返回值是一个仅包含被删除的重复条目的新数组

Web开发
删除数组条目中重复的条目(可能有多个)返回值是一个仅包含被删除的重复条目的新数组

JavaScript学习:删除数组元素

电脑网络
JavaScript学习:删除数组元素

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

javascript下过滤数组重复值的代码

Web开发
javascript下过滤数组重复值的代码

新妈妈产后的生活小条目

育儿 育儿知识 妈妈 儿歌 取名 婴儿 喂养 孕期 营养 怀孕 分娩 孕妇 教育 胎教 亲子游戏 奶粉 幼儿 宝宝 早教
新妈妈产后的生活小条目

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Excel 2007筛选唯一值或删除重复值

电脑入门
Excel 2007筛选唯一值或删除重复值

用js实现随机返回数组的一个元素

Web开发
用js实现随机返回数组的一个元素

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

粘贴文字word就卡甚至关闭退出

粘贴文字word就卡甚至关闭退出

表单填写时用回车代替TAB的实现方法

表单填写时用回车代替TAB的实现方法
下拉加载更多内容 ↓