【发布时间】:2020-07-26 08:50:36
【问题描述】:
我的要求是过滤所有Portfolio Lead 为English Competency 和值为No 的人。
var data = [{
"Employee Number": 138,
"English Competency": "No",
"Portfolio Lead": "x",
"Maths Competency": "No"
},
{
"Employee Number": 1385,
"English Competency": "yes",
"Portfolio Lead": "x",
"Maths Competency": "yes"
},
{
"Employee Number": 1318,
"English Competency": "yes",
"Portfolio Lead": "y",
"Maths Competency": "No"
},
{
"Employee Number": 1388,
"English Competency": "No",
"Portfolio Lead": "y",
"Maths Competency": "yes"
},
{
"Employee Number": 1388,
"English Competency": "No",
"Portfolio Lead": "z",
"Maths Competency": "no"
}
];
******************更新****************************** ****
下面的代码可以正常工作,但在employeeData 中它只是显示数字而不是实际数据。请帮忙
var leadsList = ['x','y','z']
function getcompetencyData(name) {
let filteredCompetency = data.filter(item => item[name] == "No");
console.log(filteredCompetency);
let leadData = [];
let employeeData = [];
leadsList.forEach(lead => {
filteredCompetency.forEach(competency => {
if (lead === competency["Portfolio Lead"]) {
leadData.push({ "Portfolio Lead": lead, "employeeData": employeeData.push(competency) })
}
})
});
console.log(leadData);
}
getcompetencyData('English Competency');
请告诉我我在这里做错了什么。以下是stackblitz链接
【问题讨论】:
-
除非您只想专门使用一些在字段中带有“否”的“潜在客户”,否则将它们放在过滤器中或对其进行迭代是没有意义的。
-
但我想要那样
标签: javascript arrays angular typescript filter