數組排序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);                                //輸出數組
相關文章
相關標籤/搜索