Maison  >  Questions et réponses  >  le corps du texte

Quelle est la différence entre le code arr[pivotIndex] et arr.splice(pivotIndex,1)[0] ?

L'utilisation de arr[pivotIndex] au lieu de arr.splice(pivotIndex,1)[0] signale une erreur. Le message d'erreur est le suivant :

Le code est le suivant, le code commenté est le code d'erreur :

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]; //用词句代码可以正确输出排序结果
        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快排结果: '+quickSort(newarr))
黄舟黄舟2673 Il y a quelques jours1111

répondre à tous(1)je répondrai

  • 大家讲道理

    大家讲道理2017-06-26 10:52:53

    "S'il vous plaît" lisez la documentation : https://developer.mozilla.org...

    répondre
    0
  • Annulerrépondre