另外this是指代什么?这个函数的功能是去掉数组中重复的元素(重复的元素只显示其中的一个),它的算法思想又是什么呢?请告知,谢谢了先!分不够的话,还可以加分哦.
function  arr(){
    var a={};
    for(var i=0;i<this.length;i++){
      if(typeof(a[this[i]])=="undefined")
      a[this[i]]=i;
    
    }
    this.length=0;
    for(var i in a){
      this[this.length]=i;
      
    }
    return this;   
    }

解决方案 »

  1.   

    a={}相当于 a = new Object();
      

  2.   

    arr()定义为“类”的话,this就是指该类的实例本身
    xx =new arr(); this就是xx本身
      

  3.   

    正解。不过还是喜欢用var a={}来定义一个对象
      

  4.   

     var a={};
    是定义一个对象
      

  5.   

    改了一点,用 this 不太好,除非你在用 jQuery 什么的。function arr(target){
        a= {};
        for(var i=0;i<target.length;i++){
            if(typeof(a[target[i]])=="undefined")
            a[target[i]]=i;
        }
        target.length=0;
        for(var i in a){
            target[target.length]=i;
        }
        return target;
    }
    思路是用 hashtable 来去除重复的数组元素,再从 hashtable 里把 key 取出来就得到不重复的数组了。
      

  6.   

    var a=[];
    才是数组
    你还可以
    var a=[{}];
      

  7.   


    var a = {};
    是定义一个对象了,相当于new Object
    而里面的this是指向当前对象了
      

  8.   

    var obj = {} 相当于new Object()
    var arr = [] 相当于new Array()
    这些都是字面量定义
      

  9.   

    var obj = {} 相当于new Object()
    var arr = [] 相当于new Array()
    这是显式的指定数据类型
    var a ;  这也是一个object
    var a= 1;
    var b = a+"object";
    var c= b;
    这是隐式的指定数据类型对象定义后不管是否初始化,都表示一个对象
    只不过初始化以后在内存中有一个引用的地址 ,叫引用了内存地址的对象,以后你可以向这个引用的地址放东东(就像分配给你一个邮箱,以后可以往邮箱里放东西)
    没有初始化就是没有分配一个映射的内存地址,仅仅是定义了一个名称而已,所以你无法往这个邮箱中放东西。所以是一个NULL
      

  10.   

    var a = {},表示定义个空对象
    利用数组中的值作为对象的key,构建hash结构,忽略多余的重复值
    var a = [1,2,1,2,3,4];var obj = {};for(var i=0,j=a.length;i<j;i++)
    {
      if(obj[i]) continue;
      obj[i] = true;
    }
    var n =[];
    for(var i in obj)
    {
      n[n.length] = i;
    }
      

  11.   

    js中定义一个对象的常见用法,和var a = [];定义一个数组一样。
      

  12.   

    var a = {},表示定义个空对象
    可以通过
    a.id=
    或者a["id"]=赋值取值
      

  13.   

    var a={};是定义一个对象
      

  14.   

    var a ={}; //定义json对象
    var a = [];//定义一个数组理解下JavaScript的几个常用对象。