首页 > 解决方案 > 从数组中选择

问题描述

我有一个数组。如何获取组包含“confluence-developers”的所有用户的名称?

const users = [ {
  "name" : "Mako",
  "email" : "mail1@mail.com",
  "admin" : false,
  "profileUpdatable" : false,
  "internalPasswordDisabled" : true,
  "groups" : [ "readers" ]
}, {
  "name" : "Arasy",
  "email" : "mail2@mail.com",
  "admin" : false,
  "profileUpdatable" : false,
  "internalPasswordDisabled" : true,
  "groups" : [ "confluence-users", "readers", "confluence-developers" ]
}, {
  "name" : "Eliza",
  "email" : "mail3@mail.com",
  "admin" : false,
  "profileUpdatable" : false,
  "internalPasswordDisabled" : true,
  "groups" : [ "readers", "confluence-users" ]
}]

标签: javascript

解决方案


使用filter(), 然后map():

const users = [ {
  "name" : "Mako",
  "email" : "mail1@mail.com",
  "admin" : false,
  "profileUpdatable" : false,
  "internalPasswordDisabled" : true,
  "groups" : [ "readers" ]
}, {
  "name" : "Arasy",
  "email" : "mail2@mail.com",
  "admin" : false,
  "profileUpdatable" : false,
  "internalPasswordDisabled" : true,
  "groups" : [ "confluence-users", "readers", "confluence-developers" ]
}, {
  "name" : "Eliza",
  "email" : "mail3@mail.com",
  "admin" : false,
  "profileUpdatable" : false,
  "internalPasswordDisabled" : true,
  "groups" : [ "readers", "confluence-users" ]
}]

const confluence_user_names = users
  .filter(user => user.groups.includes('confluence-users'))
  .map(user => user.name);

console.log(confluence_user_names);


推荐阅读