易截截图软件、单文件、免安装、纯绿色、仅160KB

javascript数组唯一化实现方式

实现方式
这里给出2中实现方式。一种是大家应该都知道的indexOf检测的方式,另一种是结合lastIndexOf和splice实现方式。
//首先给Array对象原型上添加indexOf和lastIndexOf方法.(如果没有的话)
if(!Array.prototype.indexOf){
Array.prototype.indexOf = function(element, index){
var length = this.length;
if(index == null){
index = 0;
}else{
index = +index || 0;
if(index < 0) index+= length;
if(index < 0) index = 0;
}
for(var current;index<length;index++){
current = this[index];
if(current === element) return index;
}
return -1;
}
}
if(!Array.prototype.lastIndexOf){
Array.prototype.lastIndexOf = function(element, index){
var length = this.length;
if(index == null){
index = length - 1;
}else{
index = +index || 0;
if(index < 0) index+= length;
if(index < 0) index = -1;
else if(index >= length) index = length - 1;
}
for(var current;index>=0;index--){
current = this[index];
if(current === element) return index;
}
return -1;
}
}
//很常见的实现方式
var arrayUnique1 = function(arr){
for(var i=0,len=arr.length,result=[],item;i<len;i++){
item = arr[i];
if(result.indexOf(item) < 0) {
result[result.length] = item;
}
}
return result;
}
//通过lastIndexOf和splice方法实现方式
var arrayUnique2 = function(arr){
var length = arr.length;
while(--length){
//如果在前面已经出现,则将该位置的元素删除
if(arr.lastIndexOf(arr[length],length-1) > -1) {
arr.splice(length,1);
}
}
return arr;
}

测试结果
测试数据:var arr = [1,2,3,1,2,3,2,1,3,4,2,232];
IE7循环10,000次:
arrayUnique1为460ms,arrayUnique2为190ms。
FF3.5循环100,000次:


相关文档:

JavaScript 获取对象的高度和宽度详细说明

scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetL ......

通过JavaScript将输入框设置为只读

注意:readOnly中的O要大写
//页面初始化录入,判断指标说明是否为工资性支出。
  function init() {
   var mark = "<%=mark%>";
   //如果指标说明为“工资性支出”,则工资支出那一项变为只读,且值为“指标可用金额”;其他录入框都不可录入。 ......

javascript中FORM表单的submit()方法经验教训

@author    songfeng     
       因为JS内对象的方法实际上是存储语句的一个类似于指针的东西. 其指向了内存的一个位置, 也就是其函数的位置,当然也可以让其指向一个变量值.
       var foo = new Object();
&nbs ......

JavaScript的内置对象和浏览器对象


在javascript中对象通常包括两种类型:内置对象和浏览器对象,此外,用户还可以自定义对象。
对象包含两个要素:1.用来描述对象特性的一组数据,也就是若干变量,通常称为属性。2.用来操作对象特性的若干动作,也就是若干函数,通常称为方法。
浏览器对象
对象
含义
anchor
当前文档中设置了name属性的超链接
appl ......

Javascript的document,window对象(DOM)


document对象:
对象属性:
  
document.alinkColor
//激活链接(焦点在此链接上)的颜色
 
document.all
//表示文档中所有HTML标记符的数组
 
document.anchors
//表示文档中所有锚的数组,锚是指带有name属性的A对象
 
document.applets
//表示文档中所有java小应用程序
 
document.b ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号