内容目录
sort()
函数用于将当前数组对象的元素按指定顺序进行排序,并返回排序后的数组。
该函数属于Array对象,所有主流浏览器均支持该函数。
语法
array.sort( sortFunction )
参数
参数 | 描述 |
---|---|
sortFunction | 可选参数/Function类型指定如何比较元素顺序的函数名称。 |
如果省略sortFunction
参数,元素将按ASCII字符顺序的升序进行排列。
如果提供了sortFunction
参数,那么该函数必须返回下列值之一:
- 如果所传递的第一个参数小于第二个参数,则返回负值。
- 如果两个参数相等,则返回零。
- 如果第一个参数大于第二个参数,则返回正值。
返回值
sort()
函数的返回值为Array类型,返回排序后的数组对象。
在排序过程中,并不会创建新的数组对象,返回的数组对象就是经过排序后的当前数组本身。
示例&说明
//定义一个数组对象
var array = ["Code", true, "Player", -5.21, false, 12, 0];
// 按照ASCII字符顺序进行升序排列
var sortedArray = array.sort();
document.writeln( sortedArray ); // -5.21,0,12,Code,Player,false,true
document.writeln( array ); // -5.21,0,12,Code,Player,false,true
// 返回的数组对象sortedArray就是经过排序后的数组array本身
document.writeln( array === sortedArray ); // true
// 根据元素转换为字符串后的字符长度进行升序排列
function arraySortByLength(a, b){
// 为便于用户理解,此处未考虑a或b为undefined或null的情况。
var aStr = a.toString(), bStr = b.toString();
// 如果是按照字符长度降序排序,则应该为bStr.length - aStr.length
return aStr.length - bStr.length;
}
// 定义一个等同的数组对象
var array2 = ["Code", true, "Player", -5.21, false, 12, 0];
// 使用自定义函数进行排序
array2.sort( arraySortByLength );
document.writeln( array2 ); // 0,12,Code,true,-5.21,false,Player
0 条评论
撰写评论