冒泡排序 <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];//定义...
本文实例讲述了JS数组搜索之折半搜索实现方法。分享给大家供大家参考,具体如下: 一. 方法原理: 当从一个给定的序列数组arr中, 查找某个特定值value时, 折半搜索法是这样做的: 1. 确定搜索范围的起始点: 起点startIndex = 0, 终点endIndex = arr.length - 1; 2. 根据起始点来确定一个中间点middle = Math.floor((终点 - 起点) / 2); 3. 在startIndex < endIndex的前提下, 比较arr[middle]与value的大小: (1) arr[middle] < value...
第一种:双重循环 var ary=[1,2,3,3,2,3,4,5]; for(var i=0;i<ary.length;i++){for(var j=i+1;j<ary.length;j++){if(ary[i]===ary[j]){ary.splice(i,1);i--;}} } alert(ary);第二种:新数组 var ary=[1,2,3,3,2,3,4,5]; var ary1=[]; for(var i=0;i<ary.length;i++){if(ary1.indexOf(ary[i])==-1){ary1.push(ary[i]);} } alert(ary1);第三种:可以记录次数的对象去重 var ary=[1,2,3,3,2,3,4,5];var obj={};for(var i=0;i<ary....
给定数组[54,65,43,21,12,34,45,58,97,24],求其最大值和最小值? 定义数组 var ary = [54,65,43,21,12,34,45,58,97,24]; 1、字符串拼接法 利用toString和join把数组转换为字符串,再和Math的max和min方法分别进行拼接,最后执行eval方法 var maxN = eval("Math.max(" + ary.toString() + ")"); var minN = eval("Math.min(" + ary.toString() + ")");或者 var maxN = eval("Math.max(" + ary.join() + ")"); var minN = eval("Mat...
话不多说,请看代码: function removeRepeat(data) { var temp = ""; var mainData = []; for (var i = 0; i < data.length; i++) { if (!data[i].parent) { temp = data[i]; for (var j = 0; j < data.length; j++) { if (temp.DeliveryType == data[j].DeliveryType) { data[j].parent = true; } } mainData .push(data[i]) } } return mainData ; }以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助...
对于 JavaScript 数组去除重复项,现在有多种方法,其中一种是hash,如下: if (!Array.prototype.unique) {Array.prototype.unique = function () {var hash = {}, result = [], item;for (var i = 0; i < this.length; i++) {item = this[i];if ( !hash[item] ) {hash[item] = true;result.push(item);}}return result;}; }但是该方法并不严谨,无法区分数字 1 和 字符串 1 var arr = [0, 1, 1, true, 5, true, false, undefined...
Array.prototype.sort 方法被许多 JavaScript 程序员误用来随机排列数组。最近做的前端星计划挑战项目中,一道实现 blackjack 游戏的问题,就发现很多同学使用了 Array.prototype.sort 来洗牌。洗牌 以下就是常见的完全错误的随机排列算法: function shuffle(arr){return arr.sort(function(){return Math.random() - 0.5;}); }以上代码看似巧妙利用了 Array.prototype.sort 实现随机,但是,却有非常严重的问题,甚至是完全错误。...
引用自百度知道里面的一个问答 例如数组{1,2,3,4,5} 要把数组里面的3删除得到{1,2,4,5} js代码: <script type="text/javascript"> Array.p Array.prototype.indexOf = function(val) { //prototype 给数组添加属性for (var i = 0; i < this.length; i++) { //this是指向数组,this.length指的数组类元素的数量if (this[i] == val) return i; //数组中元素等于传入的参数,i是下标,如果存在,就将i返回}return -1; };Array.protot...
非常不多说,js数组去掉重复数据的代码如下所示: var arr = [1,2,3,4,5,6,1,6,7,2]; var newArr = []; for(var i =0;i<arr.length-1;i++){if(newArr.indexOf(arr[i]) == -1){newArr.push(arr[i]);} } 下面再给大家分享高效率去掉js数组中重复项 Array类型并没有提供去重复的方法,如果要把数组的重复元素干掉,那得自己想办法:function unique(arr) { var result = [], isRepeated; for (var i = 0, len = arr.length; i < len;...
前言 面试遇到一个问题:JS数组求和函数。我第一想到的就是数组循环。然而我觉得面试官问这个问题一定不是想考这个人人皆知的方法。当时机智的我竟然想到了递归函数不断加和数组的项,然而折腾了好久都没调好方法,事实证明这并不是最优解。最后面试官问我有没有见过reduce(),真木有哇。所以回来查资料,Array.reduce()是ES5新增的新属性,相似的还有Array.reduceRight()。 下文来总结一下数组求和的方法。 最粗暴的方法:循环获取...
本文实例总结了js数组常用操作方法。分享给大家供大家参考,具体如下: var arr = [1, 2, 3, 4, 5]; //删除并返回数组中第一个元素 var theFirst = arr.shift(); alert(theFirst);//返回1 number alert(arr);//2,3,4,5 object //删除并返回数组中最后一个元素 var theLast = arr.pop(); alert(theLast);//返回5 number alert(arr);//2,3,4 object //在数组开始增加一个或多个元素,并返回数组长度 var theNewArrStart = arr.unshif...
用过Underscore的朋友都知道,它对数组(集合)的遍历有着非常完善的API可以调用的,_.each()就是其中一个。下面就是一个简单的例子:var arr = [1, 2, 3, 4, 5]; _.each(arr, function(el) { console.log(el); }); 上面的代码会依次输出1, 2, 3, 4, 5,是不是很有意思,遍历一个数组连for循环都不用自己写了。_.each()方法遍历数组非常好用,但是它的内部实现一点都不难。下面就一起来看看到底是如何实现_.each()的。在这之前...
js数组的五种迭代方法及两种归并方法(推荐) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <script>window.onload = function(){//every()相当于逻辑与var arr = [1,2,3,4,5,6,7,8];var e...
废话少说直接上代码: <body><div>sort()对数组排序,不开辟新的内存,对原有数组元素进行调换</div><div id="showBox">1、简单数组简单排序<script type="text/javascript">var arrSimple=new Array(1,8,7,6);arrSimple.sort();document.writeln(arrSimple.join());</script></div><div>2、简单数组自定义排序<script type="text/javascript">var arrSimple2=new Array(1,8,7,6);arrSimple2.sort(function(a,b){return b-a});docu...
js对数组的操作在平常的项目中也会遇到,除去一些增加,或者减少的操作外,还有一个比较重要的操作就是数组的除重,通过数组的除重,我们可以将一个数组中存在的多个重复的数组进行清理,只留下不重复的。另外下面我介绍一种原生就s的数组除重方法。Array.prototype.check= function(){ for(var i=0;i<this.length;i++){ for(var j=i+1;j<this.length;j++){ if(this[i]==this[j]){ this.splice(i,1); i=i-1; } } } } var temp=[1,...