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 数组排重的主要内容,如果未能解决你的问题,请参考以下文章