【问题标题】:Remove duplicate values array ionic3删除重复值数组 ionic3
【发布时间】:2017-10-26 10:13:49
【问题描述】:

我想在 Ionic3 中删除存储数组中的重复值

this.storage.get('thestations').then((val) => { 

           for(let i =0;i<val.length;i++){
            if(this.newarray.indexOf(this.newarray) == -1) {
            this.newarray.push(val[i]);
            } 
                console.log(newarray);

      });

但它仍然返回重复值

【问题讨论】:

  • val 对象的格式是什么?
  • 请用您的数组更新问题。
  • 您正在测试 newarray 中的一项是否与整个 newarray 匹配,我怀疑这是您的目标。

标签: javascript arrays angularjs ionic-framework


【解决方案1】:

使用集合

var val = ["Banana", "Orange", "Apple", "Mango", "Mango"];
var newarray =  Array.from(new Set(val));

使用 Reduce 在这里检查

var val = ["Banana", "Orange", "Apple", "Mango", "Mango"];
var newarray = val.reduce(function(res, ele) {
    if(res.indexOf(ele)==-1)
       res.push(ele);
return res;
}, [])

【讨论】:

    【解决方案2】:

    单线: [...new Set(["Banana", "Orange", "Apple", "Mango", "Mango"])]

    this.storage.get('thestations').then(val => {  
      console.log('with duplicates',val);   
      console.log('without duplicates',[...new Set(val)]);
    })
    

    【讨论】:

      【解决方案3】:

      我不知道,你是否解决了你的问题,但我有一个最有效的答案。

      Javascript 为我们提供 lodash 库。 如需完整文档,请访问Lodash Documentation

      Lodash 为我们提供了数千个内置函数,例如 filter、unique、isEqual 等等。

      第 1 步: 只需按照以下命令安装 lodash 的 npm 包即可。

      npm install lodash --save

      第 2 步: 在组件文件中导入依赖项。

      import * as lodash from 'lodash';
      

      第 3 步: 现在考虑你有一个名为 abcArr = [5,10, 8, 11, 10, 8]; 的数组。 而且你想忽略所有重复的数字。

      使用以下代码获得预期的输出。

      let abcArr = [5,10, 8, 11, 10, 8];
      let uniqueArr = []; 
      uniqueArr = lodash.uniqWith(abcArr, lodash.isEqual);
      

      因此,您将获得如上所示的预期解决方案。希望对你有所帮助。

      【讨论】:

        【解决方案4】:

        你必须使用下面的函数

        var val = ["Banana", "Orange", "Apple", "Mango", "Mango"];
        var newarray = [];
        
        for(let i=0; i < val.length; i++)
        {
            if(newarray.indexOf(val[i]) == -1)
                newarray.push(val[i]);
        }
        console.log(newarray);
        
        </script>
        

        您必须根据您的要求更改 val 变量。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-10-19
          • 2010-12-25
          • 2014-10-10
          • 2019-02-15
          相关资源
          最近更新 更多