当前位置: 首页 > 知识库问答 >
问题:

用javascript动态创建和填充数组

百里景山
2023-03-14

拥有编程语言数组,如:nbsp;

const tags = ["js", "ruby", "ios", "python", "go"];

我还有一个用户列表,比如: ;

const user = [
  {
    "id": "userId_1",
    "language": ["ruby", "ios"]
  }, 
  ...
];

有没有一种很好的方法用用户的ID填充由语言名称命名的数组?

类似: ;

const ruby = ["userId_1", "userId_3", "userId_8", ...];

共有2个答案

舒嘉德
2023-03-14

短一点的会更好:

const ruby = user.map((user) => user.language.includes("ruby") ? user.id : undefined);
游乐池
2023-03-14

可以使用Array.Reduce()。

null

const tags = ["js", "ruby", "ios", "python", "go"];

const user = [
  {
    "id": "userId_1",
    "language": ["ruby", "ios"]
  }, 
  {
    "id": "userId_2",
    "language": ["ruby", "python"]
  }, 
  {
    "id": "userId_3",
    "language": ["go", "ios"]
  }, 
];

const output = user.reduce((acc, cur) => {
  cur.language.forEach(lang => {
    if (!acc[lang]) acc[lang] = [];
    acc[lang].push(cur.id);
  });
  return acc;
}, {});

console.log(output);
 类似资料:
  • 问题内容: 我那里有点问题。当我想在JSF中填充DataTable时,我必须先创建一个模型,然后在我的视图中使用它。就像这里的 Primefaces示例一样。 现在,我必须创建DataTable来显示来自Web服务的数据。我不知道会有多少列,我也不知道它们的名称…您能推荐一些明智的解决方案吗? PS。我也不知道如何从Web服务中返回数据-尚待确定。 编辑 问题答案: 收集中代表属性的数据。的表示列

  • 问题内容: 我想将读取Lucene索引的结果存储到jTable中,以便可以按不同的列对其进行排序。我从索引中读取具有不同频率度量的术语。 表列是这些:[字符串项] [int absFrequency] [int docFrequency] [double invFrequency] 所以我在AbstractTableModel中可以定义列名,但是我不知道如何使用以下方法的结果获取Object []

  • 我在HTML正文中有一个名为RecipeContainer的div。我正在尝试使用一个API来根据用户的关键字搜索菜谱。最初,我在一个HTML中有6个DIV,它们被填充在我的javascript中,并使用CSS样式,但我认为这不再是一个有效的解决方案。 下面是我当前的代码,它试图将功能转移到完全在JS中创建的每个菜谱的平铺中: 这是每当用户点击Submit时执行的循环。实际上,我有两个问题与此相关

  • 第一个类称为FileReader,它读取一个逐行写入的txt文件,我们需要的每个字段都用“;”分隔,例如(“哥伦比亚大学”;“美国”;78.86;2012)。每行包含2个字符串(大学名和国家)和2个数字(分数和年份)。FileReader类在读取txt文件后,在ArrayList中返回其内容。 该作业的第二个类称为UniversityScores,它有4个字段(uniname、country、sc

  • 如何在FXML中定义表,然后使用JavaFX代码在运行时动态填充表?

  • 问题内容: 我有抽象类Human,这是另外两个类Student和Worker的延伸。我正在尝试填写两个数组列表。类型为Student的ArrayList和类型为Worker的ArrayList动态。 } } } } 问题答案: 当然,只需添加学生: 您可以为工人做几乎完全相同的事情。如果要使用循环,请执行以下操作: 这将创建一个新学生列表,其姓名后面有不同的编号。但是,如果您需要其他数据,则该数据