JS数组操作中的经典算法
冒泡排序
<script type="text/javascript">
var arr = [3,7,6,2,1,5];
定义一个交换使用的中间变量
var temp = 0;
for(i=0;i<arr.length;i++){
for(j=0;j<arr.length;j++){
如果下一个元素小于当前元素
if(arr[j]>arr[j+1]){
互换
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for(var i in arr){
document.write(arr[i]);
}
</script>
数组去重
<script type="text/javascript">
//老数组
var arr1 = [1,2,2,3,8,6,6,4,5,5];
//定义新数组
var arr2 = [];
for(i=0;i<arr1.length;i++){
var status = 0;
for(j=0;j<arr2.length;j++){
if(arr1[i]==arr2[j]){
status = 1;
break;
}
}
if(status == 0){
arr2.push(arr1[i]);
}
}
for(var x in arr2){
document.write(arr2[x]+"<br>");
}
</script>
数组添加去重
<script type="text/javascript">
var arr = [3.14,10,4,"hello"];
新定义数组元素
var tj = "hello";
布尔型判断
var cf = true;
for(var i =0;i<arr.length;i++){
if(tj == arr[i]){
cf = false;
break;
}
}
if(cf){
arr.push(tj);
for(var i in arr){
document.write(arr[i]+"<br>");
}
}
else{
alert("有重复值");
}
</script>
JS数组操作中的经典算法的更多相关文章
- JS的十大经典算法排序
引子 有句话怎么说来着: 雷锋推倒雷峰塔,Java implements JavaScript. 当年,想凭借抱Java大腿火一把而不惜把自己名字给改了的JavaScript(原名LiveScript ...
- JS的十大经典算法
冒泡排序(Bubble Sort) 冒泡排序须知: 作为最简单的排序算法之一,冒泡排序给我的感觉就像Abandon在单词书里出现的感觉一样,每次都在第一页第一位,所以最熟悉...冒泡排序还有一种优化算 ...
- JS 数组去重(数组元素是对象的情况)
js数组去重有经典的 几种方法 但当数组元素是对象时,就不能简单地比较了,需要以某种方式遍历各值再判断是否已出现. 因为: 1.如果是哈希判断法,对象作哈希表的下标,就会自动转换成字符型类型,从而导致 ...
- [经典算法题]寻找数组中第K大的数的方法总结
[经典算法题]寻找数组中第K大的数的方法总结 责任编辑:admin 日期:2012-11-26 字体:[大 中 小] 打印复制链接我要评论 今天看算法分析是,看到一个这样的问题,就是在一堆数据 ...
- JS数组去重的6种算法实现
1.遍历数组法 最简单的去重方法,实现思路:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中:注意点:判断值是否在数组的方法"indexOf"是ECMAScript5 方法 ...
- javascript常用经典算法实例详解
javascript常用经典算法实例详解 这篇文章主要介绍了javascript常用算法,结合实例形式较为详细的分析总结了JavaScript中常见的各种排序算法以及堆.栈.链表等数据结构的相关实现与 ...
- Java中的经典算法之冒泡排序(Bubble Sort)
Java中的经典算法之冒泡排序(Bubble Sort) 神话丿小王子的博客主页 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一 ...
- Java中的经典算法之选择排序(SelectionSort)
Java中的经典算法之选择排序(SelectionSort) 神话丿小王子的博客主页 a) 原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕.也就是:每一趟 ...
- JAVA经典算法40题及解答
JAVA经典算法40题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分 ...
随机推荐
- Python3中文件处理
1.txt,xls,doc等文件的使用 f=open("filename","w") 打开一个用于写入的文件,要写入内容时使用f.write("内 ...
- eclipse 配置ssh
用maven 新建工程 ,然后在src 下面的main 文件夹下新建 java文件夹,在src新建test 文件夹,然后再在下面新建java文件夹然后在pom.xml中引入ssh的依赖, 最后在res ...
- isNAN()的使用
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 浅入深出之Java集合框架(中)
Java中的集合框架(中) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到<浅入深出之Java集合框架 ...
- 免费MD5解密网站,轻松破解md5密码,mysql5/mysql323,ntlm,salt密码
md5解密网站:http://cmd5.la 网站语言:php 免费指数:★★★ (8位内小写数字字母免费,11位内数字免费) 解密范围:★★★★☆ (覆盖了1-12位很多常用密码和特殊 ...
- ansible学习之路
ansible安装
- 历年NOIP中的搜索题
什么题目都不会做于是开始做搜索题. 然而我搜索题也不会做了. 铁定没戏的蒟蒻. 1.NOIP2004 虫食算 “对于给定的N进制加法算式,求出N个不同的字母分别代表的数字,使得该加法算式成立.输入数据 ...
- Servlet端 接收不到4096,8192长度的JSON参数
Servlet端的日志显示,客户端传过来的JSON参数是空值. 但是在客户端的日志显示,已将JSON参数传送过去. 经调查发现,加减1位后的JSON参数均可以正常传送. 只有8192,4096长度的J ...
- JAVA的高并发编程
一.多线程的基本知识 1.1进程与线程的介绍 程序运行时在内存中分配自己独立的运行空间,就是进程 线程:它是位于进程中,负责当前进程中的某个具备独立运行资格的空间. 进程是负责整个程序的运行,而线程是 ...
- ABAP,学习不一样的EXCEL导出----XLSX Workbench
这个工具是在查找ABAP导出EXCEL资料的时候发现,是国外的一位大牛自己开发的开源项目,体验了一番,确实很好用. 工具特点: No ABAP Programming Skills are requi ...