• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

js 数组去重问题

vara=[1,2,3,3,3,3,3,2,2,];                        Array.prototype.unique1=function()                                {                                        varn=[];//一个新的临时数组                                        for(vari=0;i

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与5

首先你需要知道,在`Array.prototype`上扩展的方法,默认情况下运行时,`this`指的是实例对象,比如运行`a.unique1()`时,函数内部的`this`就是指a。


其次 你需要了解indexOf方法,对数组来说:indexOf(item) 来说就是判断 返回item在数组中的下标,如果不在,则返回`-1`


这样就清楚了吧
if(n.indexOf(this)==-1){//若n这个临时数组中不含有this,就把this添加到新数组中。//记住this是在运行时才决定的,你运行a.unique1()this就指代a,this也就是an.push(this);}

使用道具 举报

可以试试ES6 set()方法  var newArr=new Set(arr);

使用道具 举报

functionunique2(arr){varresult=[],hash={};for(vari=0,elem;(elem=arr)!=null;i++){if(!hash[elem]){result.push(elem);hash[elem]=true;}}console.log(hash)returnresult;}

使用道具 举报

filterArray()自己领悟

使用道具 举报

新数组内没有找到a,就执行后面的推入语句

使用道具 举报

发新帖

发布任务需求已有1031290位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!