首页 > Web开发 > 详细

js 自带的 sort() 方法

时间:2016-08-10 19:07:27      阅读:242      评论:0      收藏:0      [点我收藏+]

1. 方法概述

   Arraysort()方法默认把所有元素先转换为String再根据Unicode排序,

   sort()会改变原数组,并返回改变(排序)后的数组 。

 

2. 例子

  2.1  如果没有提供自定义的方法, 数组元素会被转换成字符串,并返回字符串在Unicode编码下的顺序比较结果

var fruit = [‘cherries‘, ‘apples‘, ‘bananas‘];
fruit.sort(); // [‘apples‘, ‘bananas‘, ‘cherries‘]

var scores = [1, 10, 2, 21]; 
scores.sort(); // [1, 10, 2, 21]
// Watch out that 10 comes before 2,
// because ‘10‘ comes before ‘2‘ in Unicode code point order.

var things = [‘word‘, ‘Word‘, ‘1 Word‘, ‘2 Words‘];
things.sort(); // [‘1 Word‘, ‘2 Words‘, ‘Word‘, ‘word‘]
// In Unicode, numbers come before upper case letters,
// which come before lower case letters.

 

2.2 利用map来排序

// the array to be sorted
var list = [‘Delta‘, ‘alpha‘, ‘CHARLIE‘, ‘bravo‘];

// temporary array holds objects with position and sort-value
var mapped = list.map(function(el, i) {
  return { index: i, value: el.toLowerCase() };
})

// sorting the mapped array containing the reduced values
mapped.sort(function(a, b) {
  return +(a.value > b.value) || +(a.value === b.value) - 1;
});

// container for the resulting order
var result = mapped.map(function(el){
  return list[el.index];
});

alert(result);

参考 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

   

js 自带的 sort() 方法

原文:http://www.cnblogs.com/rocky-fang/p/5757772.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!