在Javascript中我们已知有两个可以直接用来进行数组排序的方法reverse()和sort()。其中reverse()是按照反向对于数组进行排序的,而sort()是按照正向进行排序的。

但是,我们在使用中就会发现问题,这里的数组排序方法并不是按照我们想像中的数字大小来排序的,而是按照字符串测试结果改变原先的数据。这并不是我们想要的。

那么如何才可以得到我们想要的按照我们思维中的数字大小来排序呢。我们可以自己编写一个函数来实现。



var values = [0, 1, 5, 10, 15];
// asc升序函数
function compareAsc(value1, value2) {
  if (value1 > value2) {
  return 1;
  } else if (value1 < value2) {
  return -1;
  } else {
  return 0;
  }
}
// desc降序函数
function compareDesc(value1, value2) {
  if (value1 > value2) {
  return -1;
  } else if (value1 < value2) {
  return 1;
  } else {
  return 0;
  }
}
values.sort(compareAsc);
console.log(values);  // [0, 1, 5, 10, 15]
values.sort(compareDesc);
console.log(values);  // [15, 10, 5, 1, 0]

最新资讯
iPhone新机开卖首日遇冷 上海部分零售店无人排队

iPhone新机开卖首日遇

记者走访了上海四家苹果零售店发现,部分零售店确实开售
消费者:苹果零售店系统故障 他们无法喜提新款iPhone

消费者:苹果零售店系

有Twitter用户称,因为系统故障,他们被迫在零售店等了很
苹果新iPhone拆解结果:新款手机弃用三星或高通部件

苹果新iPhone拆解结果

两家手机拆解团队在拆解iPhone XS和XS Max时发现,这两
苹果官方客服:国行新Apple Watch支持心电图功能

苹果官方客服:国行新Ap

国行版Apple Watch Series 4也是支持心电图功能的,只是
新iPhone发售:普通版遇冷 最贵版热卖

新iPhone发售:普通版遇

,iPhone Xs渠道价格几乎全线跌破官网报价,已有黄牛在官
Farfetch纽交所上市:估值超50亿美元 京东IDG是股东

Farfetch纽交所上市:估

英国在线奢侈品时尚零售商Farfetch今日正式在纽交所上
最新文章
详解NodeJs开发微信公众号

详解NodeJs开发微信公

本篇文章给大家分享了NodeJs开发微信公众号的相关技术
详解webpack4多入口、多页面项目构建案例

详解webpack4多入口、

这篇文章主要介绍了详解webpack4多入口、多页面项目构
Vue仿支付宝支付功能

Vue仿支付宝支付功能

这篇文章主要介绍了Vue仿支付宝支付功能,非常不错,具有
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】

jquery ajaxfileuplod

点击一次上传, 当上传操作结束后才能操作界面,实现方式
JavaScript继承与多继承实例分析

JavaScript继承与多继

这篇文章主要介绍了JavaScript继承与多继承,结合实例
使用javascript做在线算法编程

使用javascript做在线

这篇文章主要介绍了使用javascript做在线算法编程的相