javascript sort方法容易犯错的地方

sort方法用来对数组排序非常方便。但是sort(func)这个func参数的构造却很容易混淆。

这个func的作用是,把排序结果里任意相邻两项a,b放入到func里来执行,如果返回值都为-1,则为正序排列,如返回值都为1,则为逆序排列。

例如,[1,3,65,97,45,6,2]

如果要正序,就应该写成[1,3,65,97,45,6,2].sort(function(a, b){return a -
b;}),

如果要逆序:[1,3,65,97,45,6,2].sort(function(a, b){return b -
a;})

记住是把返回结果拿到func里检验,而不是把待排序数组拿来检验

javascript sort方法容易犯错的地方,布布扣,bubuko.com

时间: 2024-10-17 00:37:02

javascript sort方法容易犯错的地方的相关文章

作用域--高手都容易犯错的地方

在js中,我们都知道,this的指向是由它被调用时的上下文所决定的.例如: window.id = 888; var data = { id : 999, getId : function(){ console.log(this.id) } } data.getId(); // 999; var getId = data.getId; getId(); // 888 当我们在data上调用getId方法时,this显然是指向data对象的.这个很好理解,我们需要注意的是,当我们把data上的ge

JavaScript sort()方法比较器

当我们想把一个由数字组成的数组进行简单的排序时,可能会想到sort()方法: var arr = [2 , 3, -1, -107, -14, 1]; console.log(arr.sort()) 结果: [-1, -107, -14, 1, 2, 3] 这样显然是有问题的,因为调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,也就是按照字符编码的顺序进行排序. 所以我们需要一个比较器: console.log(arr.sort(function(a,b){ if(a<b){ re

Javascript:sort()方法快速实现对数组排序

定义和用法: sort() 方法用于对数组的元素进行排序. 语法: arrayObject.sort(sortby) 注释:sortby,可选,规定排序顺序,必须是函数. 说明: 如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序. 要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较. 栗子: 应用在如上所示的单个数字或者字母的场景时,sort() 方法圆满的完成了任务: 但,在处理下面栗子中所展示的数组时却出现了异

[C/C++]_[初级]_[编程容易犯错的地方]

场景: 1. 这里总结一些日常的容易犯错的细节. 问题1:一个类A有成员变量int deleted,给定一个A的对象指针 *a, 判断deleted为真的时候输出一个语句. 一般情况下新手会这样写: if(a) { if(a->deleted) { cout << "deleted" << endl; } } 但这样其实不够精简和浪费行数, 应该这样. if(a && a->deleted) { cout << "

一些经常容易犯错的地方(未完)

最近几场比赛经常会犯一些很简单很诡异的错误,总结一下,以后注意 1. if(a[i]==b)不要写成if(a[i]=b) 2. scanf("%lld",&n)不要写成scanf("%lld",n) 3. 不要太相信int,能开long long,尽量long long 4. sort必须要有using namespace std(真心不知道这是咋打错的)

JavaScript sort()方法

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> </body> <script type="text/javascript"> //sort()方法用于对数组的元素的排序. //语法:arrayObject.sort(sorty)

css犯错的地方

1. clip属性要求元素的position必须是absolute, 而设置成absolute以后,该元素就从正常的文档流中拿走了..切记. 2. 居中效果:margin: 0 auto 是放在元素身上.并不是加在它的父元素之上..

关于C#编程中引用与值类型赋值的一些容易犯错的地方

值类型与引用类型的区别在于:值类型在赋值的时候是拷贝值,引用类型在赋值的时候的拷贝引用.记住这一个原则,我们再来分析一些具体情况: 1 PointStruct pt1 = new PointStruct(2,2); 2 PointStruct pt2 = pt1; 3 PointStruct[] ptsArray = new PointStruct[3]; 4 ptsArray[0] = pt1; 5 ptsArray[1] = pt2; 6 List<PointStruct> ptsList

JavaScript 使用 sort() 方法从数值上对数组进行排序

使用 sort() 方法从数值上对数组进行排序. <html> <body> <script type="text/javascript"> function sortNumber(a, b) { return a - b } var arr = new Array(6) arr[0] = "10" arr[1] = "5" arr[2] = "40" arr[3] = "25&q