javascript 数组排重

Posted 书童730

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 数组排重相关的知识,希望对你有一定的参考价值。

注:以下的方法都是来自前人的贡献和分享。我也是抛砖引玉。顺便提高一下自己的记忆力。

 

Array.prototype.removeByValue = function(val) {
for(var i=0; i<this.length; i++) {
if(this[i] == val) {
this.splice(i, 1);
break;
}
}
}

删除数组里面指定的数组。
调用方法:

endData.removeByValue("3");

----------------------------------------------------------------

function GetDateStr(AddDayCount) {
var dd = new Date();
dd.setDate(dd.getDate()+AddDayCount);
var y = dd.getFullYear();
var m = dd.getMonth()+1;
var d = dd.getDate();
m = m>10?m:"0"+m;
d = d > 10?d:"0"+d;
return y+"-"+m+"-"+d;
}




获取当前日期的前一天或者后一天

调用方法:
GetDateStr(-1); 昨天 

GetDateStr(0);  今天

GetDateStr(1);   明天
--------------------------------------------------------------
var getOffSetTop = function (obj) {
var thisObj = obj;
if (!obj) {
return 0;
}
var objOffSetTop = 0;
while (thisObj != null && thisObj != document.body) {
objOffSetTop += thisObj.offsetTop;
thisObj = thisObj.offsetParent;
}
return objOffSetTop;
}




获取当前元素的,距页面顶部的距离。


---------------------------------------------------------------------



//倒计时
function addGroupTime(obj,timeStamp){
if(timeStamp > 0){
//如果大于hour0.说明尚未到达截止时间
var day = Math.floor(timeStamp/60/60/24);
var hour =Math.floor(timeStamp/60/60%24)+day*24;
var min = Math.floor(timeStamp/60%60);
var sec = Math.floor(timeStamp%60);
hour=hour>=10?hour:"0"+hour;
min=min>=10?min:"0"+min;
sec=sec>=10?sec:"0"+sec;
timeStamp --;
obj.innerhtml="距结束 <span>"+hour+"</span>:<span>"+min+"</span>:<span>"+sec+"</span>";
}else{
//若否,就是已经到结束时间了
obj.innerHTML= "已结束!";
}
setTimeout(function(){
addGroupTime(obj, timeStamp);
},1000);
}



调用方法:
addGroupTime(timeObj, 258458);


-------------------------------------------------------------------------

function gotoTop(acceleration,stime) {
   acceleration = acceleration || 0.1;
   stime = stime || 10;
   var x1 = 0;
   var y1 = 0;
   var x2 = 0;
   var y2 = 0;
   var x3 = 0;
   var y3 = 0;
   if (document.documentElement) {
       x1 = document.documentElement.scrollLeft || 0;
       y1 = document.documentElement.scrollTop || 0;
   }
   if (document.body) {
       x2 = document.body.scrollLeft || 0;
       y2 = document.body.scrollTop || 0;
   }
   var x3 = window.scrollX || 0;
   var y3 = window.scrollY || 0;
 
   // 滚动条到页面顶部的水平距离
   var x = Math.max(x1, Math.max(x2, x3));
   // 滚动条到页面顶部的垂直距离
   var y = Math.max(y1, Math.max(y2, y3));
 
   // 滚动距离 = 目前距离 / 速度, 因为距离原来越小, 速度是大于 1 的数, 所以滚动距离会越来越小
   var speeding = 1 + acceleration;
   window.scrollTo(Math.floor(x / speeding), Math.floor(y / speeding));
 
   // 如果距离不为零, 继续调用函数
   if(x > 0 || y > 0) {
       var run = "gotoTop(" + acceleration + ", " + stime + ")";
       window.setTimeout(run, stime);
   }
}


返回顶部的按钮!

调用方法:
gotoTop();
------------------------------------------------------------

这些功能在网页开发的时候,很实用。在学习的过程中提高自己。


























































































































以上是关于javascript 数组排重的主要内容,如果未能解决你的问题,请参考以下文章

es6数组排重

如何将此 JavaScript 代码片段翻译成 Parenscript?

JavaScript单行代码,也就是代码片段

JavaScript 片段

JavaScript 代码片段

如何利用php数组对百万数据进行排重