从下拉列表中的json数组中删除重复值?

时间:2018-05-16 16:49:41

标签: angular

我试图使用ngFor在下拉列表中显示数据。但我得到重复的值。我如何删除它?

以下是整个数据: https://restcountries.eu/rest/v2/all

这是我试图循环的货币数组..

enter image description here

我试图根据货币数组的名称字段显示唯一值。

以下是代码的GitHub链接:

https://github.com/saisreereddy/RestfulCountriesv3

逻辑在区域组件内。

非常感谢任何形式的帮助。

1 个答案:

答案 0 :(得分:0)

如果您不熟悉自定义管道,可以通过编程方式轻松完成,在您的货币阵列上运行此功能:

filterData(yourCurrencyData: any[]): any[] {
  const filteredArray = [];
  for (const currency of yourCurrencyData) {
    if(!filteredArray.find(c => c.code === currency.code) {
      filteredArray.push(currency);
    }
  }
  return filteredArray;
}

这将返回过滤后的数组。不是非常有效,地图会有更快的查找,但由于存在少量货币,这不是问题,因为这是非常易读的,只有几百条记录的人不会发现差异。随意用数据类型替换任何。并记住*ngFor对新过滤的数组。