JavaScript概論(6) - acaj2018 的部落格 - udn部落格
acaj2018 的部落格
作家:資訊小幫手
文章分類
    Top
    JavaScript概論(6)
    2022/12/07 10:00:00
    瀏覽:82
    迴響:0
    推薦:1
    引用0
    JavaScript 

    延續探討

    陣列函數

    Array.sort()

    函數說明:陣列以Unicode編碼排序,並回傳(不會更動原始陣列)

    傳入參數說明:

    範例:

    var a = [111,22,3];

    a.sort();

    說明:輸出的陣列排序會為111、22、3,無論輸入的陣列資料是數字還是文字sort()函數都會以Unicode編碼排序輸入的陣列,所以111會排在最前面,22會排在3前面,這是此函數和認知上的排序不同的地方。

    範例2:

    var a = [ant,Message,cat,NAS];

    a.sort();

    說明:輸出的陣列排序會為Message、NAS、ant、cat,和上一個範例一樣因為Unicode編碼中的大寫順位在前小寫順序較後所以排序上大寫會在前面,小寫會在後面,字母的順序則和認知上一樣a在最前面z在最後面。

     

    Array.sort([compareFunction])

    函數說明:sort函數會按照輸入的[compareFunction]決定排序的方式

    傳入參數說明:

    compareFunction:回傳值小於零的時候輸入s會放在較前面的位置輸入t則放在較後的位置,回傳值大於零的時候輸入s會放在較後的位置,t則會放在較前的位置。

    範例:

    var a = [ant,Message,cat,NAS];

    a.sort(function(s,t){

    var a = s.toLowerCase();

    var b = t.toLowerCase();

    if(a>b)return 1;

    if(a

    return 0;

    });

    說明:輸出的陣列排序會為ant、cat、Message、NAS,compareFunction中先將輸入的值都變成小寫,接下來比較已經變成小寫的兩個輸入變數,若小寫的s變數大於小寫的變數t,則將t變數移到較前面的位置,若小寫的s變數小於小寫的變數t,則將s變數移到較前面的位置,若兩者相等,則不移動位置。

     

    Array.concat(value1[, value2[, ...[, valueN]]])

    傳入參數說明:傳入的參數可以是單一一個值,或是多個值,或是陣列且值和陣列可以同時存在。

    函數說明:陣列和輸入的參數組合成新的陣列,輸入的參數會接續在原本陣列的末端。

    範例:

    var a = [1,2,3];

    a.concat(4,5);

    說明:回傳陣列為[1,2,3,4,5],a陣列後方加入兩個參數值4和5的結果。

    範例2:

    var a = [1,2,3];

    a.concat([4,5]);

    說明:回傳陣列為[1,2,3,4,5],a陣列後方加入一個陣列[4,5]的結果。

    範例3:

    var a = [1,2,3];

    a.concat([4,5],[6,7]);

    說明:回傳陣列為[1,2,3,4,5,6,7],a陣列後方加入兩個陣列[4,5]和[6,7]的結果。

    範例4:

    var a = [1,2,3];

    a.concat(4,[5,[6,7]]);

    說明:回傳陣列為[1,2,3,4,5,[6,7]],a陣列後方加入一個參數4和一個陣列[5,[6,7]]的結果。

     

    Array.slice([begin[, end]])

    函數說明:複製部分陣列

    傳入參數說明:

    begin:從陣列的哪個位置開始複製

    end:停止於陣列位置的前一個位置

    範例:

    var a = [1,2,3,4,5];

    a.slice(0,3);

    說明:回傳陣列為[1,2,3],從陣列零開始取到陣列三的前一個位置。

    範例2:

    var a = [1,2,3,4,5];

    a.slice(3);

    說明:回傳陣列為[4,5],從陣列三開始取到最後一個位置。

    範例3:

    var a = [1,2,3,4,5];

    a.slice(1,-1);

    說明:回傳陣列為[2,3,4],從陣列一開始取到陣列倒數第一個位子的上一的前一個位置。

    範例4:

    var a = [1,2,3,4,5];

    a.slice(-3,-2);

    說明:回傳陣列為[3],從陣列一開始取到陣列倒數第三個位子的上一的前二個位置。

     

    結語:這次介紹的是javascript的陣列相關的函數及使用方式,陣列的方法回傳大多都是複製一個新的陣列,不會影響到原始陣列的資料,這次介紹的幾個陣列的函數都有一些使用上要注意的地方,像是sort要注意它的排序是使用Unicode編碼排序,所以不會照著數字的大小排序,還有slice的end值是取到end值的前一個位置。

     

     

    參考:JavaScript大全(ISBN:9789862764411)

     

    回應
    全站分類:知識學習 其他
    自訂分類:技術探討
    上一則: C# 9.0
    下一則: 如何避免SQL INJECTION注入攻擊

    限會員,要發表迴響,請先登入