javascript怎样数组去重并排序.效率最快的
以下是我针对网上三种高效率方法总结与效率测试,如果大家有更好的意见或建议也可以提出,大家共勉学习。
数组去重法1:
Array.prototype.unique1 = function(){ console.time(“数组去重法1“); //记录开始执行的时间 var arr = ; //创建一个临时数组 var obj = {}; //创建一个空对象 for(var i = 0; i 《 this.length; i++){ //遍历当前要去重的数组 if(!obj[this[i]]){ //判断obj对象中是否存有当前项,没有则执行 arr.push(this[i]); //将当前项push到临时数组中 obj[this[i]] = 1; //将当前项存入obj对象 } } console.timeEnd(“数组去重法1“); //记录结束执行的时间 return arr; }
数组去重法2:
Array.prototype.unique2 = function(){ console.time(“数组去重法2“); //记录开始执行的时间 var arr = ; //创建一个临时数组 for(var i = 0; i 《 this.length; i++){ //遍历当前要去重的数组 if(arr.indexOf(this[i]) == -1){ //判断临时数组中是否存有当前项,没有则执行 arr.push(this[i]); //将当前项push到临时数组中 } } console.timeEnd(“数组去重法2“); //记录结束执行的时间 return arr; }
数组去重法3:
Array.prototype.unique3 = function(){ console.time(“数组去重法3“); //记录开始执行的时间 var arr = [this]; //创建一个临时数组,并将要去重数组的第一项存入临时数组 for(var i = 1; i 《 this.length; i++) { //从要去重数组第二项开始遍历 if (this.indexOf(this[i]) == i){ //判断临时数组中是否存有当前项,没有则执行 arr.push(this[i]); //将当前项push到临时数组中 } } console.timeEnd(“数组去重法3“); //记录结束执行的时间 return arr; }
效率测试方法:
var arr1 = ; //创建一个要去重的数组 for(var i = 0; i 《 200000; i++){ //遍历200000个数据 arr1.push(parseInt(Math.random() * 10) + 1); //将所有数据返回为随机数(1-10之间)的数, 并push到要去重的数组中 } console.log(arr1.unique1()); //打印数组去重法1的执行时间 console.log(arr1.unique2()); //打印数组去重法2的执行时间 console.log(arr1.unique3()); //打印数组去重法3的执行时间
效率测试结果:
总结
以上就是关于JavaScript几种数组去重的方法效率测试,希望测试的结果对大家选择使用数组去重方法能有所帮助,如果有疑问大家可以留言交流。谢谢大家对脚本之家的支持。
学习java开发培训有什么好处
现在学习Java好,随着互联网时代的发展,Java变成了编程界的中坚力量,Java不仅没有被淘汰,还发展得越来越好。
目前为止,java依旧是一个主流软件,很多企业都会用到java工程师后期也可以做程序猿、架构师、项目负责人等!
java开发语言是当下比较主流的编程语言,由于java开发的应用普遍化,开发市场对java开发工程师的需求量在不断增大,因此,有很多小伙伴选择学习java开发技术。
Java的学习优势有俩个方面一个是Java本身的技术优势,另一点就是Java的工作优势。
Java本身的技术优势是其在能够在各行各业得到一个广泛发展和受到众多企业青睐的重要原因。
1、Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。
1、Java是一门面向对象编程语言,吸收了C++语言的各种优点,摒弃了C++里难以理解的多继承、指针等概念,现在Java更强大简单易用。
3、Java开发相关工作待遇都比较高,属于高薪行业。
4、JAVA人才紧缺,随着互联网的发展,对于Java人才的需求越来越多,尤其是对于高端人才。
java怎么安装怎么下载环境变量怎么该
1.jdk1.5.0的下载地址
http://java.sun.com/j2se/1.5.0/download.jsp
2.jdk1.5.0的安装
很简单,没什么可说的,只建议修改安装目录名成为jdk1.5.0
3.jdk1.5.0的配置
(假设jdk的安装目录是d:\jdk1.5.0)
右键点击[我的电脑],选择[属性],选择[高级]选项卡,单击[环境变量]按钮,在[系统变量]找到path变量,单击[编辑]按钮,把d:\jdk1.5.0\bin添加到里面,与已有的内容用分号隔开.
在[系统变量]中单击[新建]按钮,在[变量名]文本框中输入名称classpath,在[变量值]文本框中输入.;D:\jdk1.5\lib
4.编写HelloWorld
推荐刚入门时不要使用IDE,用简单的文本编辑器就可以了,比较好用的有Jcreator(可以不用进dos直接编译运行java程序),Editplus,UltraEdit
public class HelloWorld {
public static void main(String args) {
System.out.println(“Hello World!“);
}
}
保存为HelloWorld.java,注意文件名必须与声明为public类的类名完全相同,包括大小写
5.编译HelloWorld
在dos下进入HelloWorld.java文件所在目录,使用命令javac HelloWorld.java编译,注意HelloWorld.java大小写一定要正确
6.运行HelloWorld
使用命令java HelloWorld,注意HelloWorld大小写一定要正确,而且不要写.java后缀
7.java入门推荐书籍
java编程思想(thinking in java),虽然现在已经出第三版了,但是还是强烈推荐学习第二版,侯捷翻译的,第三版翻译的不好
8.java API
现在jdk5.0有中文版api了,只不过还没完全翻译完
浏览地址:http://gceclub.sun.com.cn/chinese_java_docs.html
下载地址:论坛里有网友做好的chm格式的API,可以免费下载
-javas