在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]

最新资讯
P2P经历的不是挤兑潮,而是违规玩家的出清

P2P经历的不是挤兑潮,

近期,一些互金平台相继暴雷。用户非理性地提现加速了尾
品钛提交招股书:第一季营收2.8亿 小米新浪为重要股东

品钛提交招股书:第一季

金融科技解决方案提供商品钛(PINTEC)今日正式向美国证券
宝宝树拟上市,广告电商面临双重挑战

宝宝树拟上市,广告电商

在营收增速放缓、年度亏损严重情况下,关于宝宝树如何扭
共享滑板背后:谷歌、Uber、软银暗斗大出行

共享滑板背后:谷歌、Ub

令人眼花缭乱的出行方式正吸引着全球资本的疯狂追逐。
B站与FGO的这半年:如何一步步站到了玩家对立面?

B站与FGO的这半年:如何

B站虽然坐拥大量用户,但主营的视频业务一直处在烧钱状
四川2.5万挖矿大军:一场洪水亏损上亿 最怕停电和孤独

四川2.5万挖矿大军:一

业内盛传的一句话是:比特币70%的算力在中国,中国70%的算
最新文章
Angular2进阶之如何避免Dom误区

Angular2进阶之如何避

这篇文章主要介绍了Angular2进阶之如何避免Dom误区,小
使用FileReader API创建Vue文件阅读器组件

使用FileReader API创

这篇文章主要介绍了使用FileReader API创建一个Vue的
react 实现页面代码分割、按需加载的方法

react 实现页面代码分

本篇文章主要介绍了react 实现页面代码分割、按需加载
Vue项目分环境打包的实现步骤

Vue项目分环境打包的

这篇文章主要介绍了Vue项目如何分环境打包,实现方法大
vue 组件中slot插口的具体用法

vue 组件中slot插口的

这篇文章主要介绍了vue 中slot 的具体用法,包括子组件
JS遍历DOM文档树的方法实例详解

JS遍历DOM文档树的方

这篇文章主要介绍了JS遍历DOM文档树的方法,结合实例形