js中的排序(sort相关)

对于一个数组的排序,默认的sort()按字符编码排序:

var testArray=[3,324,5345,6546,134,5654,665];

testArray.sort();

alert(testArray);

按照数值大小排序:

var testArray=[3,324,5345,6546,134,5654,665];

testArray.sort(function(a,b){return a-b;});

alert(testArray);

//关于快速排序,之前看到过还有一种较为复杂方法贴出来供参考
/* 1.找一个基准点
2.建立两个数组,分别存储左右的数组
3.利用递归进行下次比较*/

function quickSort(arr){
if (arr.length<=1) {
return arr;
};
var num=Math.floor(arr.length/2);
var numValue=arr.splice(num,1);
var left=[];
var right=[];
for(var i=0;i<arr.length;i++)
if (arr[i]<numValue) {
left.push(arr[i]);
}else{
right.push(arr[i]);
};
return quickSort(left).concat([numValue],quickSort(right));
}
console.log(quickSort([20,15,7,60,12,30,46]));
时间: 2024-08-12 18:24:01

js中的排序(sort相关)的相关文章

js中的二进制操作相关类型和方法

Blob数据对象 MDN官方解释Blob对象:一个Blob对象就是一个包含有只读原始数据的类文件对象.Blob对象中的数据并不一定得是JavaScript中的原生形式.File接口基于Blob, 继承了Blob的功能,并且扩展支持了用户计算机上的本地文件. 创建Blob对象的方法有几种,可以调用Blob构造函数,还可以使用一个已有Blob对象上的slice()方法切出另一个Blob对象,还可以调用canvas对象上的toBlob方法. 实际上,Blob是计算机通用术语之一,全称写作:BLOB(b

JS中对象排序

详细代码如下: var s=[{name:"abc",value:10},{name:"dbc",value:5},{name:"acc",value:15},{name:"ebc",value:50},{name:"bbc",value:80},{name:"aca",value:60}] //JS Object字符串排序 s.sort(function(a,b){ return a[

js中闭包和对象相关知识点

学习js时候,读到几篇不错的博客.http://www.cnblogs.com/yexiaochai/p/3802681.html一,作用域 和C.C++.Java 等常见语言不同,JavaScript 的作用域不是以花括号包围的块级作用域(block scope),这个特性经常被大多数人忽视,因而导致莫名其妙的错误.例如下面代码,在大多数类C 的语言中会出现变量未定义的错误,而在JavaScript 中却完全合法: if(true) { var somevar = 'value'; } con

js中错误处理的相关知识

错误bug是指程序执行过程中,导致程序无法正常执行的情况. 后果:程序会强行中断退出:     错误处理:                即使程序出现错误,也保证程序不异常中断的机制. 一般的使用的代码如下: try{//始终执行            //可能出现的代码 }catch(err){//只有发生错误时才执行:                         出错时执行的错误处理代码-----通知用户,记录日志,保存进度.                         err:错误

js数组的排序——sort()

对于一个数组的排序,默认的sort()按字符编码排序的: var testArray=[3,324,5345,6546,134,5654,665]; testArray.sort(); alert(testArray); 输出结果是:134  3  324  5345  5654  6546  665 现在要让它按照数值大小排序: var testArray=[3,324,5345,6546,134,5654,665]; testArray.sort(function(a,b){return a

js中的排序

sort() 方法用于对数组的元素进行排序. 语法:arrayObject.sort(sortby):参数sortby可选.规定排序顺序.必须是函数. 注:如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序.要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较. 如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字.比较函数应该具有两个参数 a 和 b,其返回

js中 的排序方法

冒泡排序思想:数组中相邻元素两两比较,如果第一个元素大于第二个元素,交换位置,第一轮比较结束,能确定一个最大值,然后进行第二类比较.var arr = [11,2,3,5,6,67];for(var i=1; i<arr.length; i++){for(var j=0; j<arr.length-i; j++){if(arr[j]>arr[j+1]){var temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}} **选择排序** 思想:

JS中的排序算法(-)冒泡排序

冒泡排序算法 例子:10,8,9,6,4,20,5 第一轮  1)10>8  交换数据 得到:8,10,9,6,4,20,5 2)10>9  交换数据 得到:8,9,10,6,4,20,5 3)10>6  交换数据 得到:8,9,6,10,4,20,5 4)10>4  交换数据 得到:8,9,6,4,10,20,5 5)10<20  不交换数据 得到:8,9,6,4,10,20,5 6)20>5  交换数据 得到:8,9,10,6,4,5,20 结果:8,9,10,6,

JS中this指向问题相关知识点及解析

概括:this指向在函数定义的时候是无法确定的,只有在函数调用执行的时候才能确定this最终指向了谁,this最终指向的是调用它的对象(常见的说法,后面有小小的纠正): 例1: 图中的函数fn1其实是window对象下面的一个方法,相当于window.fn1()调用了这个方法,而name是fn1的私有变量,所以全局下是没有name这个变量的,所以结果如上所示,this最终指向的也是window这个对象. 例2: 此时this指向的是obj对象,因为fn2是通过obj调用的,所以可以理解this最