我有一个数组,其中的项目列表如下图所示,我想删除重复项
该数组中的[L7-LO, %L7-LO]

javascript - 使用angular 4删除对象数组中的重复项-LMLPHP

我已经尝试过以下条件:

方案1:

this.formulalist.filter((el, i, a) => i == a.indexOf(el))

方案2:
Observable.merge(this.formulalist).distinct((x) => x.Value)
          .subscribe(y => {
       this.formulalist.push(y)
   });

方案3:
this.formulalist.forEach((item, index) => {
        if (index !== this.formulalist.findIndex(i => i.Value == item.Value))
        {
            this.formulalist.splice(index, 1);
        }

    });

以上三种情况均无法从该阵列中删除重复项。有人可以帮忙这个查询吗?

最佳答案

Angular 是不必要的使用vanillajs
过滤仅出现一次的元素,然后将第一次出现的元素添加到新列表中

let newFormulalist =  formulalist.filter((v,i) => formulalist.findIndex(item => item.value == v.value) === i);

10-07 14:48