编辑代码

function sortColors(arr) {
    let zero = -1;
    let two = arr.length;
    for(let i = 0; i < two;) {
        if(arr[i] === 1) {
            i++
        } else if(arr[i] === 2) {
            two--;
            swap(arr, i, two);
        } else {
            zero++;
            swap(arr, i, zero);
            i++
        }
    }
}
function swap(arr, i, j) {
    const temp = arr[i];
    arr[i] = arr[j];
    arr[j] =temp;
}

function sortColors2(arr) {
    const map = [0, 0, 0];
    for(let i = 0; i < arr.length; i++) {
        map[arr[i]]++
    }
    let index = 0;
    for(let i = 0; i < map.length; i++) {
        for(let j = 0; j < map[i]; j ++) {
            arr[index++] = i
        }
    }
    
}

const arr = [1,2,0,0,2,1,1,2,0]
sortColors2(arr)
console.log(arr)