1. 程式人生 > >js 選擇排序,按 JSON key 排序

js 選擇排序,按 JSON key 排序

var arr = [ {'height': 60,'id':1 }, {'height':90,'id':1 }, {'height':80,'id':1 }, {'height':94,'id':1 } ];

//第一個引數傳需要排序的陣列, 第二個引數傳按照哪個 key 進行排序
selection(arr, 'height')

//選擇排序
function selection (arr, name){
    for (let i = 0; i < arr.length; i++) {

        var minIndex = i;
        for (let j = i + 1; j < arr.length; j++) {

            if (arr[minIndex][name] > arr[j][name]) {
                minIndex = j
            }
        }
        swap(arr, i, minIndex)

    }
    console.log(arr)
    return arr;
}


function swap(arr, ind1, ind2) {
    var arrind1 = arr[ind1];
    arr[ind1] = arr[ind2]
    arr[ind2] = arrind1
}