Duvida de Loop Javascript

Estava tentando resolver de um jeito diferente um dos exercícios propostos do meu curso para tentar entender a lógica do mesmo. Mesmo colocando as condições não tenho o resultado que desejo, que seria números randômicos que não se repetem.

<!DOCTYPE html>

<html>
    <head>
    <meta charset="UTF-8"/>
    <title>Project 1</title>
    </head>

    <body>
        <script>
            var number = [];
            function randomNumber(quantidade) {
                var i = 1;
                while (i <= quantidade) {
                    var numberRandom = Math.round(Math.random() * 10);
                    if(numberRandom != number.length) {
                        number.push(numberRandom);
                        i++
                    } if(numberRandom == number.length) {
                        break
                    }
                }
            }
            randomNumber(5);
            console.log(number);
        </script>
    </body>
</html>

Opa beleza jovem ?

Não entendi pq vc está fazendo essas comparações:

if(numberRandom != number.length)
if(numberRandom == number.length)

Pelo que entendi vc está comparando o valor gerado randomicamente com o tamanho da sua lista, pq vc não tenta gerar um valor adiciona-lo na sua lista, depois gere outro valor e faça a comparação com o valor gerado anteriormente com o novo.

            var numberRandom = Math.round(Math.random() * 10);
            if(number.length == 0 || number[ i -1] != number[i]) {
                number.push(numberRandom);
                i++