数组排序sort()

Posted 党兴明

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组排序sort()相关的知识,希望对你有一定的参考价值。

//排序
//var box = [1,2,3,4,5];
//alert(box.reverse());  //方法执行后返回逆序数组
//alert(box);            //原数组也被改变
//alert(box.sort());    //从小到大排序

//sort方法的默认排序在数字排序上有些问题,因为数字排序和数字字符串排序的算法是一样的。
//我们必须修改这一特征,修改的方式,就是给sort(参数)方法传递一个函数参数。这点可以参考手册说明。
function compare(value1,value2){
    if(value1<value2){
        return -1;
    }else if(value1>value2){
        return 1;
    }else{
        return 0;
    }
}
var box = [0,1,5,15];
alert(box.sort(compare)); //这样才会排序正确
//如果要反向操作,即从大到小排序,正负颠倒即可。当然,如果要逆序用reverse()更加方便。
var box =["dang",22,new Date()];
//alert(box);
//alert(box.toString());
//alert(box.valueOf());
//alert(box.toLocaleString());  
//
//alert(box.join("|"));   //打印的字符串以|分割,默认以,

//alert(box.push("编程","da"));  //向数组添加元素,并且返回数组总长度
//alert(box.pop());  //移除数组最后元素,并且返回移除元素
//alert(box.shift());  //移除开头元素,并且返回
//alert(box.unshift("江苏")); //数组前边添加元素,并且返回长度,ie返回值不能用

 

//ECMAScript为操作已经包含在数组中的元素提供了很多方法。concat()方法可以基于当前数组创建一个新数组。slice()方法可以基于当前数组获取指定区域元素并创建一个新数组。splice()主要用途是向数组的中部插入元素。
var box = [‘李炎恢‘, 28, ‘盐城‘];                //当前数组
var box2 = box.concat(‘计算机编程‘);            //创建新数组,并添加新元素
alert(box2);                                //输出新数组
alert(box);                                //当前数组没有任何变化

var box = [‘李炎恢‘, 28, ‘盐城‘];                //当前数组
var box2 = box.slice(1);                        //box.slice(1,3),2-4之间的元素
alert(box2);                                //28,盐城
alert(box);                                //当前数组


//splice中的删除功能:
var box = [‘李炎恢‘, 28, ‘盐城‘];                //当前数组
var box2 = box.splice(0,2);                    //截取前两个元素
alert(box2);                                //返回截取的元素
alert(box);                                //当前数组被截取的元素被删除

//splice中的插入功能:
var box = [‘李炎恢‘, 28, ‘盐城‘];                //当前数组
var box2 = box.splice(1,0,‘计算机编程‘,‘江苏‘);    //没有截取,但插入了两条
alert(box2);                                //在第2个位置插入两条
alert(box);                                //输出

//splice中的替换功能:
var box = [‘李炎恢‘, 28, ‘盐城‘];                //当前数组
var box2 = box.splice(1,1,100);                //截取了第2条,替换成100
alert(box2);                                //输出截取的28
alert(box);                                //输出数组

 

以上是关于数组排序sort()的主要内容,如果未能解决你的问题,请参考以下文章

js sort() 数字排序 不太理解

JavaScript数字数组怎么按数字大小排序?

设计一个一维数组的排序函数p_sort,并调用它对10个整数进行排序。p_sort函数原型如下:

Java:使用sort方法对整个数组或部分数组进行排序的问题

不使用 sort 方法对数组进行字母排序

js sort 数组中包含数组怎么排序