首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从对象数组(Node.js)中删除重复项

从对象数组(Node.js)中删除重复项
EN

Stack Overflow用户
提问于 2022-06-06 10:03:52
回答 2查看 119关注 0票数 -1

没有`.uniq`_,因为它不能在我的平台上工作(https://autocode.com/)

我试着使用==进行过滤,但没有成功。我也尝试过_.uniq,它也不起作用。

代码:

代码语言:javascript
复制
      var tags = [...new Set(bot.tags)]

      for (var i = 0; i < bot.tags.length; i++) {
        tags1 += `\`${tags[i].label}\` `;
        
        tags2.push({
          label: `${tags[i].label}`,
          value: `${tags[i].name}`,
          default: false,
        });
      }
      
      console.log(tags2);

tags2电流值

代码语言:javascript
复制
[
  { label: 'Anime', value: 'anime', default: false },
  { label: 'Social', value: 'social', default: false },
  { label: 'Moderation', value: 'moderation', default: false },
  { label: 'Fun', value: 'fun', default: false },
  { label: 'Anti-scam', value: 'anti-scam', default: false },
  { label: 'anti-scam', value: 'anti-scam', default: false },
  {
    label: 'Multiple Languages',
    value: 'multiple-languages',
    default: false
  },
  { label: 'Minecraft', value: 'minecraft', default: false },
  { label: 'Fun', value: 'fun', default: false },
  { label: 'Moderation', value: 'moderation', default: false },
  { label: 'Logging', value: 'logging', default: false },
  { label: 'anti-nuke', value: 'anti-nuke', default: false },
  { label: 'Utility', value: 'utility', default: false },
  { label: 'Multi-language', value: '-multi-language', default: false },
  { label: 'Anime', value: 'anime', default: false },
  { label: 'Logging', value: 'logging', default: false },
  { label: 'Together', value: 'together', default: false },
  { label: 'Utility', value: 'utility', default: false },
  { label: 'anti raid', value: 'anti-raid', default: false },
  {
    label: 'DiscordTogether',
    value: 'discordtogether',
    default: false
  },
  { label: 'Social', value: 'social', default: false }
]

value似乎有一些值,尽管它们有不同的label。我怎么才能解决呢?

(我不需要根据整个对象的唯一性进行排序--只通过它的value进行排序)

EN

回答 2

Stack Overflow用户

发布于 2022-06-06 10:50:53

如果使用的是javaScript,则可以使用Set

集合是一组唯一的项的集合,即不能重复任何元素。ES6中的Set是有序的:集合的元素可以按插入顺序迭代。Set可以存储任何类型的值,无论是原语还是对象。

代码语言:javascript
复制
// Use to remove duplicate elements from the array 

const numbers = [2,3,4,4,2,3,3,4,4,5,5,6,6,7,5,32,3,4,5]

//spreading numbers of the object into an array using the new operator
console.log([...new Set(numbers)]) 

// [2, 3, 4, 5, 6, 7, 32]
票数 1
EN

Stack Overflow用户

发布于 2022-06-28 11:36:45

我在自动编码上试过了,而且还能用。

代码语言:javascript
复制
var unique = tags2.filter((set => f => !set.has(f.value) && set.add(f.value))(new Set));

console.log(unique);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72516050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档