1. 程式人生 > >javascript中直接用sort進行排序的陷阱測試

javascript中直接用sort進行排序的陷阱測試

var values = [0, 1, 5, 3, 10];
values.sort();
console.log(values);

// [ 0, 1, 10, 3, 5 ]

function compare(v1, v2) {
    if(v1 < v2){
        return -1;
    }else if(v1 > v2){
        return 1;
    }

    return 0;
}

var values2 = [0, 1, 5, 3, 10];
values2.sort(compare);
console.log(values2);

//[ 0, 1, 3, 5, 10 ]
所以,js在你比較2個數字時,是會先預設很贊華為字串,所以,直接呼叫sort則達不到預期結果。