Repeating structure that adds elements in an array without repeating elements

Asked

Viewed 52 times

0

I have an array with the name Products.

I need to create a function that whenever called adds the elements of Products for the product array Products.

I tried something like:

  adicionaProdutoConfirmadosAnuncio(){
    for(let i=0;i<this.produtosSelecionados.length;i++){
      for(let j=i+1;j<this.produtosSelecionados.length;j++){
        if(this.produtosSelecionados[i] !== this.produtosSelecionados[j]){
          this.produtosConfirmadosAnuncio.push(this.produtosSelecionados[i]);
        }
      }
    }
    console.log(this.produtosConfirmadosAnuncio);
  }

But that way the elements are being added more than once in my array Products

1 answer

0


With es6 and using Set a much more elegant solution is possible.

produtosConfirmadosAnuncio=new Set()

adicionaProdutoConfirmadosAnuncio(){
   this.produtosConfirmadosAnuncio=new Set([...this.produtosConfirmadosAnuncio, ...this. produtosSelecionados]);
}

Browser other questions tagged

You are not signed in. Login or sign up in order to post.