Retornar uma lista dos values presentes no select

Eu fiz uma interface aonde o usuario digita um numero e ele é logo atribuido a um value do select. A ideia é de que o usuario digite um numero e não possa digitar ele novamente, porém pra isso, eu preciso que em cada chamada da função, seja retornada uma lista dos values presentes no Select, e não estou conseguindo.

<section>
    <div>
        <p>Digite um numero [1 - 100]: <input type="number" name="" id="inNumero">
        <input type="button" value="Adicionar" onclick="validarNumero()"></p>
    </div>
    <div>
        <p><select id="numerosAnotados" size="10"></select><br>
        <input type="button" value="excluir" onclick="excluir()">
    </p>
    </div>
</section>

O codigo jss que eu tentei e até agora não deu certo

function validarNumero() {
    let numeroInput = Number(document.getElementById('inNumero').value)
    let tabela =  document.getElementById('numerosAnotados')
    let numeros = Array.from(tabela)

        if (numeros.indexOf(numeroInput) == -1) { // -1 == Não tem
        numeros.push(numeroInput) // Criando um registro
        let item = document.createElement('option')
        item.text = numeroInput
        tabela.appendChild(item)
    }
}

Esse array numeros não é um array de números, e sim um array de objetos, então nunca vai conter a variável numeroInput.

Dessa maneira deve funcionar:

const numeros = [];

function validarNumero() {
    const numeroInput = Number(document.getElementById('inNumero').value)
    const tabela =  document.getElementById('numerosAnotados')
    
    if (numeros.indexOf(numeroInput) == -1) {
        numeros.push(numeroInput)
        let item = document.createElement('option')
        item.text = numeroInput
        tabela.appendChild(item)
    }
}
1 curtida