javascript 学习随笔 sort

sort 是一个高阶函数,默认排序是根据ASCII码进行排序的,即使你输入的是数值,比如[10,20,1,2] ,但排序的结果是1,10,2,20,原因是因为他会把我们数组中的数值默认转成字符串再进行排序,如果这个搞不清楚的话,你会遇到一个大坑。

还好 sort函数支持自定义函数,我们可以根据我们的需要定义比较规则,通常自定义函数有两个参数x和y,如果返回1代表x大于y,如果返回0 代表x等于y,如果返回-1表示x小于y。

var arr = [10,1,20,2];
var r = arr.sort(function(x,y){
	if(xy)
		return 1;
	return 0;
});
document.write(r);

 

你可能感兴趣的:(javascript,sort)