【问题标题】:How to get only values with not duplicated from an array [duplicate]如何仅获取不从数组中复制的值[重复]
【发布时间】:2020-01-13 17:12:59
【问题描述】:

这是一个数组:[2,2,3,3,5,7,9,9]

从这个数组中,我需要的不是它没有重复的值。如何获得?

const onlyUniqueWithoutDup = array.filter((item) => !item.indexOf(array)) 将结果视为:[5,7];

有什么帮助吗?

【问题讨论】:

    标签: javascript arrays ecmascript-6


    【解决方案1】:

    你可以使用:

    const array = [2,2,3,3,5,7,9,9];
    
    const result = array.filter((item, index, arr) => (arr.lastIndexOf(item) == arr.indexOf(item)));
    
    console.log(result);

    【讨论】:

      【解决方案2】:

      创建一个对象,其中键将是此数组中的元素,然后值将是重复次数。然后迭代这个对象,得到value只有1的key

      let data = [2, 2, 3, 3, 5, 7, 9, 9];
      
      
      let newData = data.reduce((acc, curr) => {
        if (acc[curr]) {
          acc[curr] += 1;
        } else {
          acc[curr] = 1
      
        }
      
        return acc;
      }, {});
      let nonDup = [];
      
      for (let keys in newData) {
        if (newData[keys] === 1) {
          nonDup.push(keys)
        }
      
      }
      
      console.log(nonDup)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-10
        • 2012-11-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多