纯数字不重复排列的另类方法
作者:张经纬 来源:张经纬的博客 发布时间: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>0?1:-1
}
document.write(baseNum.join(''));


猜你喜欢
- 下面给大家介绍下mysql 8.0.16 初次登录修改密码mysql数据库初始化后初次登录需要修改密码初次登录会碰到下面这个错误ql>
- 简介Django数据库连接超过wait_timeout导致连接丢失时自动重新连接数据库https://github.com/zhanghao
- 问题:生产环境的操作系统和数据库可能是英文版的,而我们的母语是中文,如果英语能力差点,可能有时对英语环境下的数据库脚本报错的英文提示看不懂,
- Git 工作区、暂存区和版本库基本概念我们先来理解下Git 工作区、暂存区和版本库概念工作区:就是你在电脑里能看到的目录。暂存区:英文叫st
- 被分割的字段一定是有限而且数量较少的,我们不可能在一个字符串中存储无限多个字符 这个字段所属的表与这个字段关联的表,一定是一对多的关系 比如
- 有以下两种方式启用警告框的可取消(dismissal)功能:1、通过 data 属性:通过数据 API(Data API)添加可取消功能,只
- mssql 的正式名字是 SQL Server MS公司出的。图形操作界面好一些,性能还可以。在在mssql和oracle上不能互换.支持O
- 开发环境Python 3.8Pycharm模块使用requests >>> pip install requestspar
- go官方仅提供了database package,database package下有两个包sql,sql/driver。这两个包用来定义操
- 在某些编程语言中,例如 C/C++、C#、PHP、Java、JavaScript 等等,do-while 是一种基本的循环结构。它的核心语义
- 直接上代码图片就使用我家爽妹子的吧如果没有安装pil模块的话先cmd安装下输入:pip install pillow# -*- coding
- 前言Python 在 2.6 版本中新加了一个字符串格式化方法: str.format() 。它的基本语法是通过 {} 和 : 来代替以前的
- 本文实例讲述了Flask框架模板渲染操作。分享给大家供大家参考,具体如下:from flask import render_template
- 一、下载下载链接:https://www.anaconda.com/二、安装过程安装过程,所有都选默认项目。三、系统环境配置路径:此电脑-属
- 前言CSRF全称Cross-site request forgery(跨站请求伪造),是一种网络的攻击方式,也被称为“One Click A
- 1. iocgo简介习惯于Java或者C#开发的人应该对控制反转与依赖注入应该再熟悉不过了。在Java平台有鼎鼎大名的Spring框架,在C
- 前言本文主要给大家介绍了关于Golang map生成有序json数据的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:先来看一段
- 版本:平台:ubuntu 14 / I5 / 4G内存python版本:python2.7opencv版本:2.13.4依赖:如果系统没有p
- 如下所示:L = ['adam', 'Lisa', 'bart', 'Paul
- 前言我们把可能发生错误的语句放在try模块里,用except来处理异常。except可以处理一个专门的异常,也可以处理一组圆括号中的异常,如