另外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;
}
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;
}
解决方案 »
- js字符串分割求教。
- 移除Object对象问题
- 请问一下javascript里如何按照行数截取
- web打印如何让页脚从第二页开始计数?
- 在Struts2方法中 用dhtmlxconnector为dhtmlxgrid加载数据报错
- 同一个页面放置两个同样的样式表(但是值不同),分别用于两个对象。如何避免冲突!!
- 在windows 2003中location.href不能改变。
- js聚焦 看起来挺简单的.
- 高手给我看个函数错哪里了?
- 要出差了,郁闷,散分,来者有分
- 高分请教,jquery问题,如何得到input file 的路径
- 页面中有多个table,怎样一次性指定第一个table1所有的td中的文字都使用同一个css
xx =new arr(); this就是xx本身
是定义一个对象
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 取出来就得到不重复的数组了。
才是数组
你还可以
var a=[{}];
var a = {};
是定义一个对象了,相当于new Object
而里面的this是指向当前对象了
var arr = [] 相当于new Array()
这些都是字面量定义
var arr = [] 相当于new Array()
这是显式的指定数据类型
var a ; 这也是一个object
var a= 1;
var b = a+"object";
var c= b;
这是隐式的指定数据类型对象定义后不管是否初始化,都表示一个对象
只不过初始化以后在内存中有一个引用的地址 ,叫引用了内存地址的对象,以后你可以向这个引用的地址放东东(就像分配给你一个邮箱,以后可以往邮箱里放东西)
没有初始化就是没有分配一个映射的内存地址,仅仅是定义了一个名称而已,所以你无法往这个邮箱中放东西。所以是一个NULL
利用数组中的值作为对象的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;
}
可以通过
a.id=
或者a["id"]=赋值取值
var a = [];//定义一个数组理解下JavaScript的几个常用对象。