首页 > web前端 > js教程 > 正文

JavaScript中数组Array.sort()排序的方法分享

黄舟
发布: 2017-03-24 15:13:25
原创
1249 人浏览过

本篇文章主要介绍了JavaScript数组Array.sort()的排序方法。具有很好的参考价值,下面跟着小编一起来看下吧

JavaScript中数组的sort()方法主要用于对数组的元素进行排序。其中,sort()方法有一个可选参数。但是,此参数必须是函数。 数组在调用sort()方法时,如果没有传参将按字母顺序(字符编码顺序)对数组中的元素进行排序,如果想按照其他标准进行排序,就需要进行传一个参数且为函数,该函数要比较两个值,并且会返回一个用于说明这两个值的相对顺序的数字。

1、对数字数组进行由小到大的顺序进行排序。

代码:

var arr = [22,12,3,43,56,47,4];
arr.sort();
console.log(arr); // [12, 22, 3, 4, 43, 47, 56]
arr.sort(function (m, n) {
 if (m < n) return -1
 else if (m > n) return 1
 else return 0
});
console.log(arr); // [3, 4, 12, 22, 43, 47, 56]
登录后复制

2、对字符串数组执行不区分大小写的字母表排序。

代码:

var arr = [&#39;abc&#39;, &#39;Def&#39;, &#39;BoC&#39;, &#39;FED&#39;];
console.log(arr.sort()); // ["BoC", "Def", "FED", "abc"]
console.log(arr.sort(function(s, t){
 var a = s.toLowerCase();
 var b = t.toLowerCase();
 if (a < b) return -1;
 if (a > b) return 1;
 return 0;
})); // ["abc", "BoC", "Def", "FED"]
登录后复制

3、对包含对象数组排序,要求根据对象中的年龄进行由大到小的顺序排列

代码:

var arr = [{&#39;name&#39;: &#39;张三&#39;, age: 26},{&#39;name&#39;: &#39;李四&#39;, age: 12},{&#39;name&#39;: &#39;王五&#39;, age: 37},{&#39;name&#39;: &#39;赵六&#39;, age: 4}];
var objectArraySort = function (keyName) {
 return function (objectN, objectM) {
  var valueN = objectN[keyName]
  var valueM = objectM[keyName]
  if (valueN < valueM) return 1
  else if (valueN > valueM) return -1
  else return 0
 }
}
arr.sort(objectArraySort(&#39;age&#39;))
console.log(arr) // [{&#39;name&#39;: &#39;王五&#39;, age: 37},{&#39;name&#39;: &#39;张三&#39;, age: 26},{&#39;name&#39;: &#39;李四&#39;, age: 12},{&#39;name&#39;: &#39;赵六&#39;, age: 4}]
登录后复制

以上是JavaScript中数组Array.sort()排序的方法分享的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!