纯数字不重复排列的另类方法

作者:张经纬 来源:张经纬的博客 时间:2009-12-04 18:25:00 

方法不是主流的。

有一组数据,大概10万个左右,每一单位的值不会大于30000,要求按照由大到小的顺序不重复输出。

参考无忧cosin的方法后(多谢),整理的方法如下

//一段随机数,模拟用
var baseNum=[];
for(var i= 0;i< 100000 ;i++){
 random = Math.floor(Math.random()*i);
 baseNum.push(random);
}
var baseNumLen = baseNum.length;
var numSubscript = [];
//将数字作为下标和值放到另一数组内,实现排序和不重复
for (var i =0;i<basenumlen ;i++){
 if(numSubscript[baseNum[i]] == undefined)numSubscript[baseNum[i]]=baseNum[i];
}
//去除空的值并颠倒一下
baseNum = numSubscript.join(',').replace(/([,]+)/ig, ',').split(',').reverse();
document.write(baseNum);

题外:

假如数组是自己生成,客服果果写的这段代码就很好了。(牛逼)

var baseNum=[],tmp={},v;
for(var i= 0;i< 100000 ;i++){
        tmp[Math.floor(Math.random()*i)]=true;
};
i=0;
for (var k in tmp){
        baseNum[i++]=k;
};
baseNum.sort(fn);
function fn(x,y) {
        return x-y&gt;0?1:-1
}
document.write(baseNum.join(''));

 

标签:排列,数字,随机
0
投稿

猜你喜欢

  • DW表格应用之细线框的制作

    2008-02-03 19:00:00
  • Bresenham图形算法JavaScript版本

    2010-01-25 12:09:00
  • 36个折纸风格logo设计

    2009-09-17 13:13:00
  • Safari显示网页字体为超级无敌难看的宋体的原因

    2008-04-20 16:49:00
  • css中absolute与relative的区别

    2007-11-17 08:04:00
  • ASP 读取MP3文件帧的信息比特率,采样频率,播放时间

    2010-06-04 12:22:00
  • 判断Session的过期时间 采用JavaScript实时显示剩余多少秒

    2011-04-04 10:48:00
  • Asp 日期格式化问题

    2011-03-31 10:47:00
  • 菜鸟课堂:玩转MySQL数据库 性能优化八法

    2009-03-25 14:44:00
  • 利用XML实现通用WEB报表打印实际使用中的例子

    2008-09-04 14:42:00
  • HTML文件HEAD内部标签用法浅析

    2008-07-06 20:56:00
  • JS中实现JAVA的hashCode算法

    2008-08-03 17:00:00
  • JavaScript版的DateAdd、DateDiff、IsDate函数

    2008-01-30 15:35:00
  • ASP分段读取数据库代码

    2009-10-12 12:28:00
  • OBJECTPROPERTY与sp_rename更改对象名称的介绍

    2012-01-29 18:04:39
  • 如何获取浏览器的更多信息?

    2009-11-23 20:48:00
  • asp生成一个不重复的随机数字

    2007-09-12 19:12:00
  • 网页设计软件FrontPage快捷键一览

    2008-02-24 16:55:00
  • 提高ASP性能的最佳选择第一部分

    2007-08-15 12:31:00
  • 上传组件 ASPUpload 使用说明

    2008-09-11 14:38:00
  • asp之家 网络编程 m.aspxhome.com