test.htm
复制代码 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>array-remove-repeate</title>
<style>
.tt{ background-color:#006699; height:3px; overflow:hidden;}
</style>
</head>
<body>
<div class="tt"></div>
<div class="result" id="result"></div>
<script>
if(!console)
{
var console={};
console.log=function(str){alert(str);}
}
Array.prototype.unique1 = function () {
var r = new Array();
label:for(var i = 0, n = this.length; i < n; i++) {
for(var x = 0, y = r.length; x < y; x++) {
if(r[x] == this[i]) {
continue label;
}
}
r[r.length] = this[i];
}
return r;
}
Array.prototype.unique2 = function () {
return this.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",");
}
Array.prototype.unique3 = function() {
var temp = {}, len = this.length;
for(var i=0; i < len; i++) {
var tmp = this[i];
if(!temp.hasOwnProperty(tmp)) {
temp[this[i]] = "my god";
}
}
len = 0;
var tempArr=[];
for(var i in temp) {
tempArr[len++] = i;
}
return tempArr;
}
Array.prototype.unique4 = function () {
var temp = new Array();
this.sort();
for(i = 0; i < this.length; i++) {
if( this[i] == this[i+1]) {
continue;
}
temp[temp.length]=this[i];
}
return temp;
}
var test=(function()
{
var arr2=[];
for(var i=0;i<2000;i++)
{
var t=i;
t=parseInt(Math.random()*2000)+1;
arr2[i]=(t.toString());
}
//arr2=["zhoujian","zhou","zhou"];
return function(){
return arr2;
//return [1,2,3,3];
};
})();
window.onload=function(){
//
Watch.start("Cost times1:");
var arr= test();
console.log(arr.length );
arr=arr.unique1();
console.log(arr.length);
Watch.stop();
//
Watch.start("Cost times2:");
arr= test();
console.log(arr.length);
arr=arr.unique2();
console.log(arr.length);
Watch.stop();
//
Watch.start("Cost times3:");
arr= test();
console.log(arr.length );
arr=arr.unique3();//数组很大时,最快
console.log(arr.length );
Watch.stop();
//
Watch.start("Cost times4:");
arr= test();
console.log(arr.length);
arr=arr.unique4();
console.log(arr.length);
Watch.stop();
Watch.report();
}
</script>
</body>
</html>
Watch.js
复制代码 代码如下:
var Watch = {
result: [],
guid: -1,
totalTime: 0,
start: function(title){
this.result[++this.guid] = [title || this.guid, new Date().getTime()];
},
stop: function(){
var r = this.result[this.guid];
var t = new Date().getTime() - r[1];
this.totalTime += t;
r[1] = t;
if(t>=10000){
alert("This code takes too long to run,you should optimizate them.");
}
},
report: function(parent){
var div = document.createElement("div");
div.style.fontSize = "12px";
var str = [];
str.push("<p><b>The total times:</b><span style='color:#f00'>" + this.totalTime + "</span> ms.</p>");
for (var i = 0, l = this.result.length; i < l; i++) {
if (this.result[i].length > 1) {
str.push("<p>" + "<span style='width:200px;display:inline-block;background-color:#f7f7f7;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;'>"+"<span style='background-color:#0c0; -moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;width=" + (this.totalTime === 0 ? this.totalTime : parseInt(200 * this.result[i][1] / this.totalTime)) + "px; display:inline-block;'>"+this.result[i][1]+"</span>"+"</span> <span style='width:150px; display:inline-block;'>" + this.result[i][0] + "</span>" + "</p>");
}else{
str.push(this.result[i][0]);
}
}
div.innerHTML = str.join("");
parent = parent || document.body;
parent.appendChild(div);
div = null;
this.totalTime = 0;
this.guid = -1;
this.result=[];
},
fns: function(){
var a = arguments;
for (var i = 0, l = a.length; i < l; i++) {
this.start(a[i][0]);
a[i][1]();
this.stop();
}
},
execByTimes: function(fn, times, title){
this.start(title);
while (times--) {
fn();
}
this.stop();
},
print: function(str){
this.result[++this.guid]=[str];
}
}
复制代码 代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>array-remove-repeate</title>
<style>
.tt{ background-color:#006699; height:3px; overflow:hidden;}
</style>
</head>
<body>
<div class="tt"></div>
<div class="result" id="result"></div>
<script>
if(!console)
{
var console={};
console.log=function(str){alert(str);}
}
Array.prototype.unique1 = function () {
var r = new Array();
label:for(var i = 0, n = this.length; i < n; i++) {
for(var x = 0, y = r.length; x < y; x++) {
if(r[x] == this[i]) {
continue label;
}
}
r[r.length] = this[i];
}
return r;
}
Array.prototype.unique2 = function () {
return this.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",");
}
Array.prototype.unique3 = function() {
var temp = {}, len = this.length;
for(var i=0; i < len; i++) {
var tmp = this[i];
if(!temp.hasOwnProperty(tmp)) {
temp[this[i]] = "my god";
}
}
len = 0;
var tempArr=[];
for(var i in temp) {
tempArr[len++] = i;
}
return tempArr;
}
Array.prototype.unique4 = function () {
var temp = new Array();
this.sort();
for(i = 0; i < this.length; i++) {
if( this[i] == this[i+1]) {
continue;
}
temp[temp.length]=this[i];
}
return temp;
}
var test=(function()
{
var arr2=[];
for(var i=0;i<2000;i++)
{
var t=i;
t=parseInt(Math.random()*2000)+1;
arr2[i]=(t.toString());
}
//arr2=["zhoujian","zhou","zhou"];
return function(){
return arr2;
//return [1,2,3,3];
};
})();
window.onload=function(){
//
Watch.start("Cost times1:");
var arr= test();
console.log(arr.length );
arr=arr.unique1();
console.log(arr.length);
Watch.stop();
//
Watch.start("Cost times2:");
arr= test();
console.log(arr.length);
arr=arr.unique2();
console.log(arr.length);
Watch.stop();
//
Watch.start("Cost times3:");
arr= test();
console.log(arr.length );
arr=arr.unique3();//数组很大时,最快
console.log(arr.length );
Watch.stop();
//
Watch.start("Cost times4:");
arr= test();
console.log(arr.length);
arr=arr.unique4();
console.log(arr.length);
Watch.stop();
Watch.report();
}
</script>
</body>
</html>
Watch.js
复制代码 代码如下:
var Watch = {
result: [],
guid: -1,
totalTime: 0,
start: function(title){
this.result[++this.guid] = [title || this.guid, new Date().getTime()];
},
stop: function(){
var r = this.result[this.guid];
var t = new Date().getTime() - r[1];
this.totalTime += t;
r[1] = t;
if(t>=10000){
alert("This code takes too long to run,you should optimizate them.");
}
},
report: function(parent){
var div = document.createElement("div");
div.style.fontSize = "12px";
var str = [];
str.push("<p><b>The total times:</b><span style='color:#f00'>" + this.totalTime + "</span> ms.</p>");
for (var i = 0, l = this.result.length; i < l; i++) {
if (this.result[i].length > 1) {
str.push("<p>" + "<span style='width:200px;display:inline-block;background-color:#f7f7f7;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;'>"+"<span style='background-color:#0c0; -moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;width=" + (this.totalTime === 0 ? this.totalTime : parseInt(200 * this.result[i][1] / this.totalTime)) + "px; display:inline-block;'>"+this.result[i][1]+"</span>"+"</span> <span style='width:150px; display:inline-block;'>" + this.result[i][0] + "</span>" + "</p>");
}else{
str.push(this.result[i][0]);
}
}
div.innerHTML = str.join("");
parent = parent || document.body;
parent.appendChild(div);
div = null;
this.totalTime = 0;
this.guid = -1;
this.result=[];
},
fns: function(){
var a = arguments;
for (var i = 0, l = a.length; i < l; i++) {
this.start(a[i][0]);
a[i][1]();
this.stop();
}
},
execByTimes: function(fn, times, title){
this.start(title);
while (times--) {
fn();
}
this.stop();
},
print: function(str){
this.result[++this.guid]=[str];
}
}
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月18日
2024年11月18日
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】