Javascript 如何使用map/filter/reduce组合两个数组?

Javascript 如何使用map/filter/reduce组合两个数组?,javascript,Javascript,我有两个对象数组:雇员和公司 var employees= [{ name: 'XYZ', empId: 0, age: 29, compId: 1 }, { name: 'ABC', empId: 1, age: 26, compId: 2 }, { name: 'EFG', empId: 2, age: 28, compId: 1 }, { name: 'MNO', empId:

我有两个对象数组:雇员和公司

var employees= [{
    name: 'XYZ',
    empId: 0,
    age: 29,
    compId: 1
}, {
    name: 'ABC',
    empId: 1,
    age: 26,
    compId: 2
}, {
    name: 'EFG',
    empId: 2,
    age: 28,
    compId: 1
}, {
    name: 'MNO',
    empId: 3,
    age: 32,
    compId: 3
}];

var companies = [{
    name: 'Facebook',
    id: 1
}, {
    name: 'Amazon',
    id: 2
}, {
    name: 'Google',
    id: 3
}];
通过基于这些数组使用map/filter/reduce,我必须打印一个输出,如

32岁的雇员“MNO”在谷歌工作

这两个数组的共同点是“employees.compId=companys.id”


请帮助我如何关联这两个数组并打印上面的输出字符串。

您可以执行以下操作

var sentences = employees.map(function (emp) {
    var company = companies.filter(function (comp) {
        return comp.id === emp.compId;
    })[0];
    return "Employee '" + emp.name + "' of Age " + emp.age + " is working in " + company.name;
});

console.log(sentences);

你做了什么研究?你从那项研究中发现了什么?你忘了…}。reducefunctionp,s{return p+'\n'+s;};然后您使用了map/filter/reduce。。。按正确的顺序:p