Die Verwendung von arr[pivotIndex] anstelle von arr.splice(pivotIndex,1)[0] meldet einen Fehler. Die Fehlermeldung lautet wie folgt:
Der Code lautet wie folgt, der auskommentierte Code ist der Fehlercode:
function quickSort (arr) {
if (arr.length<=1) {
return arr;
};
let left = [],
right = [],
pivotIndex = Math.floor(arr.length/2);
//let pivot = arr[pivotIndex], //直接獲取arr[pivotIndex]賦值給pivot時報錯
let pivot = arr.splice(pivotIndex,1)[0]; //用詞句代碼可以正確輸出排序結(jié)果
for (let i=0; i<arr.length; i++) {
if (arr[i] <= pivot) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return quickSort(left).concat(pivot,quickSort(right));
}
console.log('純JS快排結(jié)果: '+quickSort(newarr))
人生最曼妙的風(fēng)景,竟是內(nèi)心的淡定與從容!