【发布时间】:2019-01-17 19:36:30
【问题描述】:
我有一个名为 produtosSelecionados 的数组。
我需要创建一个函数,每次调用都将元素 produtosSelecionados 推送到数组 produtosConfirmadosAnuncio,但如果该元素已经在 produtosConfirmadosAnuncio 中,则该元素不必推送strong>produtoConfirmadosAnuncio。
我尝试类似:
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);
}
但是通过这种方式,元素会在我的数组 produtosConfirmadosAnuncio 中重复推送。我该怎么做?
【问题讨论】:
-
你的数组元素有什么类型?有不同的规则用于比较原语和对象developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
-
如果以下内容正是您要找的,请告诉我
-
如果元素已经存在于你的数组中,你应该使用 include 方法
-
使用一个Set作为数据结构,可能不会保持顺序,但不会出现重复。
标签: javascript angular typescript ecmascript-6