首页 > 解决方案 > 如果另一列与 JavaScript 中的条件匹配,则来自数组数组的列

问题描述

我有以下数组显示员工姓名、身份证和部门

var employees = [
["John","001","Sales"]
["Mike","002","Sales"]
["Adam","003","Eng"]
["Sam","004","Sales"]
["Emma","005","Eng"]
];

如何根据另一列从该数组中获取特定列。例如,我想获取所有“Eng”部门的 ID 号列,其中结果为:

["003","005"]

标签: javascriptarrays

解决方案


首先你需要filter你的数组,然后通过map方法获取必要的值:

var employees = [
  ["John","001","Sales"],
  ["Mike","002","Sales"],
  ["Adam","003","Eng"],
  ["Sam","004","Sales"],
  ["Emma","005","Eng"]
  ];    

  const result = employees.filter(f=> f.some(s=>s == 'Eng')).map(([a, b, c]) => b);

  console.log(result);


推荐阅读