如果另一列符合JavaScript中的条件,则从数组数组数组中选择列
我有以下数组,显示员工姓名、id和部门如果另一列符合JavaScript中的条件,则从数组数组数组中选择列,javascript,arrays,Javascript,Arrays,我有以下数组,显示员工姓名、id和部门 var employees = [ ["John","001","Sales"] ["Mike","002","Sales"] ["Adam","003","Eng"] ["Sam","004","Sales"] ["Emma","005","Eng"] ]; 如何基于另一列从该数组中获取特定列。例如,我希望获得所有“工程”部门的ID编号列,其结果为: ["003","005"] 首先,您需要对数组进行筛选,然后通过映射方法获取必要的值: var员工
var employees = [
["John","001","Sales"]
["Mike","002","Sales"]
["Adam","003","Eng"]
["Sam","004","Sales"]
["Emma","005","Eng"]
];
如何基于另一列从该数组中获取特定列。例如,我希望获得所有“工程”部门的ID编号列,其结果为:
["003","005"]
首先,您需要对数组进行
筛选
,然后通过映射
方法获取必要的值:
var员工=[
[“约翰”、“001”、“销售”],
[“迈克”、“002”、“销售”],
[“亚当”、“003”、“英语”],
[“Sam”、“004”、“销售”],
[“Emma”、“005”、“Eng”]
];
const result=employees.filter(f=>f.some(s=>s=='Eng')).map([a,b,c])=>b);
控制台日志(结果)
您可以在数组上使用map()
来过滤并获取所需的数据
var员工=[
[“约翰”、“001”、“销售”],
[“迈克”、“002”、“销售”],
[“亚当”、“003”、“英语”],
[“Sam”、“004”、“销售”],
[“Emma”、“005”、“Eng”]
];
功能getColumnFor(数据,部门){
常量输出=[];
数据映射(功能(项){
如果(项目[2].toLowerCase()==部门toLowerCase()){
输出推送(第[1]项);
}
});
返回输出;
}
const result=getColumnFor(员工,英语);
控制台日志(结果)代码>如果您的数组是formate格式的,则可以执行以下操作
var员工=[
[“约翰”、“001”、“销售”],
[“迈克”、“002”、“销售”],
[“亚当”、“003”、“英语”],
[“Sam”、“004”、“销售”],
[“Emma”、“005”、“Eng”]
];
var代码=[];
for(员工中的风险值k){
如果(员工[k][2]=='Eng'){
代码.推送(员工[k][1]);
}
}
控制台日志(代码)代码>谢谢!工作起来很有魅力@霍齐:我很高兴帮助你!:)