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数组操作中的经典算法实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
javascript 数组操作详解
1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值 要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长
-
Javascript数组操作函数总结
其实平时用的比较多的应该是push和pop,不过还是都记下来,以便后面使用. shift :删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined 复制代码 代码如下: var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1 unshift :将参数添加到原数组开头,并返回数组的长度 复制代码 代码如下: var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); //a:[-2,-
-
JavaScript数组操作函数汇总
js中数组操作函数还是非常多的,今天忽然想到来总结一下,也算是温故而知新吧.不过不会针对每个办法都进行一下总结,只是针对一些比较常用的做个备注一下. 这里总结到的 js 数组操作函数有:push,pop,join,shift,unshift,slice,splice,concat (1)push 和 pop 这两个函数都是对数组从尾部进行压入或弹出操作.push(arg1,arg2,...)可以每次压入一个或多个元素,并返回更新后的数组长度.注意如果参数也是数组的话,则是将全部数组当做一个元素压
-
JavaScript数组操作详解
1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值 要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规
-
js数组操作学习总结
shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefinedvar a = [1,2,3,4,5];var b = a.shift(); 结果 a:[2,3,4,5] b:1 unshift:将参数添加到原数组开头,并返回数组的长度var a = [1,2,3,4,5];var b = a.unshift(-2,-1); 结果 a:[-2,-1,1,2,3,4,5] b:7 注:在IE6.0下测试返回值总为undefined,FF2.0下测试返回值为7
-
js数组操作方法总结(必看篇)
判断数值数组中各个数字出现的奇偶次数 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>数组操作</title> </head> <body> <script type="text/javascript"> var arr=[3,1,2,2,1,3,1
-
js常用数组操作方法简明总结
//javascript 中的数组分割 var colors = ["red","green","blue"]; //alert(colors.toString()); alert(colors.join("|")); //返回结果是red|green|blue var colors = ["red","green","blue",null]; alert(color
-
js数组操作常用方法
在jquery中处理JSON数组的情况中遍历用到的比较多,但是用添加移除这些好像不是太多. 今天试过json[i].remove(),json.remove(i)之后都不行,看网页的DOM对象中好像JSON数据是以数组的形式出现的,查阅了下相关JS中数组的操作一试果然很爽. 记录下来. 1.数组的创建 复制代码 代码如下: var arrayObj = new Array(); //创建一个数组var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不
-
JavaScript中的数组操作介绍
JavaScript中的数组对象自带了一些方法,可以通过使用这些方法来对数组进行操作. join() 可以使用join()方法将数组中的成员合并到一个字符串中: 复制代码 代码如下: var o = [1,2,3]; console.log(o.join());//1,2,3 console.log(o.join(" "));//1 2 3 var emptyArray = new Array(10); console.log(emptyArray.join("-"
-
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] = tem
-
SPFA 算法实例讲解
适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便 派上用场了. 我们约定有向加权图G不存在负权回路,即最短路径一定存在.当然,我们可以在执行该算法前做一次拓扑排序,以判断是否存在负权回路,但这不是我们讨论的重 点. 算法思想:我们用数组d记录每个结点的最短路径估计值,用邻接表来存储图G.我们采取的方法是动态逼近法:设立一个先进先出的队列用来保存待优化的 结点,优化时每次取出队首结点u,并且用u点当前的最短路
-
js的函数的按值传递参数(实例讲解)
js的函数传参的方式是按值传递,正常情况下,改变函数参数的值,并不会对函数外部的变量造成影响.例如: 'use strict'; var list = [1, 2, 3]; list.forEach(function(item) { item ++; }); console.log(list); // [ 1, 2, 3 ] 这是因为js的函数在接收参数时,会生成一个副本变量,该副本变量等于参数的值,可以分析js这样运行的: 'use strict'; var list = [1, 2, 3];
-
C语言杨氏矩阵查找算法实例讲解
目录 一.杨氏矩阵介绍 二.查找算法 1.查找思路 2.步骤 3.代码 三.杨氏矩阵例题 代码 特别注意 四.总结 本文以C语言实现,介绍杨氏矩阵中通用的查找算法. 一.杨氏矩阵介绍 杨氏矩阵种,每一行的数都从左到右递增,每一列的数都从上到下递增.如下图是一个简单的杨氏矩阵: 有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在. 要求:时间复杂度小于O(N) 二.查找算法 1.查找思路 杨氏矩阵是很有特点的,它有规律递增的特点决定了针对
-
JS时间控制实现动态效果的实例讲解
如下所示: <script> BOM //Bowers Object Model 浏览器对象模型 setTimeout() // 延迟执行一次 setInterval() // 间隔执行 var a = 300; window.setTimeout('abc(a)',3000); // 自定义函数赋值 function abc(i) { alert(i); } //setInterval('alert(123)',2000); var dh = document.getElementById(
-
js学习总结_选项卡封装(实例讲解)
这个插件对应的html的结构如下 <div class='box' id='tabFir'> <ul id='tabOptions'> <li class='select'>页卡一</li> <li>页卡二</li> <li>页卡三</li> </ul> <div class='select'> <div>1</div> <div>2</div&
-
NetworkX之Prim算法(实例讲解)
引言 Prim算法与Dijkstra的最短路径算法类似,它采用贪心策略.算法开始先把图中权值最小的边添加到树T中,然后不断把权值最小的边E(E的一个端点在T中,另一个在G-T中).当没有符合条件的E时算法结束,此时T就是G的一个最小生成树. NetworkX是一款Python的软件包,用于创造.操作复杂网络,以及学习复杂网络的结构.动力学及其功能. 本文借助networkx.Graph类实现Prim算法. 正文 Prim算法的代码 Prim def prim(G, s): dist = {} #
-
js最简单的双向绑定实例讲解
把代码复制放到页面里面运行看一下效果就好了 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <input type="text" id="myinput" > <sc
-
js数组方法reduce经典用法代码分享
以下是个人在工作中收藏总结的一些关于javascript数组方法reduce的相关代码片段,后续遇到其他使用这个函数的场景,将会陆续添加,这里作为备忘. javascript数组那么多方法,为什么我要单挑reduce方法,一个原因是我对这个方法掌握不够,不能够用到随心所欲.另一个方面,我也感觉到了这个方法的庞大魅力,在许多的场景中发挥着神奇的作用. 理解reduce函数 reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值. a
-
vue.js与后台数据交互的实例讲解
第一步:引入js库: <script src="../js/common/vue.min.js"></script> <script src="../js/common/vue-resource.js"></script> 前端代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti
随机推荐
- nodejs实现邮件发送服务实例分享
- volatile可见性的一些认识和论证
- ThinkPHP中RBAC类的四种用法分析
- .NET实现定时发送邮件代码(两种方式)
- Javascript中产生固定结果的函数优化技巧
- PHP实现阿里大鱼短信验证的实例代码
- 详解iOS设计中的UIWindow使用
- 基于JavaScript实现右键菜单和拖拽功能
- MYSQL随机抽取查询 MySQL Order By Rand()效率问题
- Android中屏幕密度和图片大小的关系详解
- PHP实现批量检测网站是否能够正常打开的方法
- 特想搞点新的创意出来-立体方块
- SQL服务器面临的危险和补救.读[十种方法]后感.
- jquery三个关闭弹出层的小示例
- 卡巴WININET.DLL 木马的解决办法和措施
- 详解iOS App开发中UIViewController的loadView方法使用
- 在ASP.NET 2.0中操作数据之五十四:添加新记录时包含一个文件上传选项
- C++ 数据结构之布隆过滤器
- 谈谈JS中的!!
- 使用django-crontab实现定时任务的示例