Javascript 返回未定义的嵌套函数

Javascript 返回未定义的嵌套函数,javascript,arrays,Javascript,Arrays,嗨,我想在items变量中立即得到这个函数的结果,但是当我试图返回items时,我得到了未定义的值,有人能解释一下原因并修复它吗 设arr=[[1,2,3,4],[5,6,7,8],'a','b','c','d']; 设colp=[0,1,3]; 功能选择(arr、colp){ 设项目=[]; 返回colp.forEach((元素)=>{ 返回arr.map((行)=>{ 项目推送(行[元素]); 退货项目; }); }); }这是关于“forEach”的。forEach方法返回undefin

嗨,我想在items变量中立即得到这个函数的结果,但是当我试图返回items时,我得到了未定义的值,有人能解释一下原因并修复它吗

设arr=[[1,2,3,4],[5,6,7,8],'a','b','c','d'];
设colp=[0,1,3];
功能选择(arr、colp){
设项目=[];
返回colp.forEach((元素)=>{
返回arr.map((行)=>{
项目推送(行[元素]);
退货项目;
});
});

}
这是关于“forEach”的。forEach方法返回undefined,如果您想要返回一个值,或者映射它,或者如果您想要在它的变异版本中返回项目,那么直接返回它

功能选择(arr,colp){
设项目=[];
colp.forEach((元素)=>{
返回arr.map((行)=>{
项目推送(行[元素]);
退货项目;
});
});
退货项目;
}

也许您可以返回
项目
,在这种情况下,
映射
是不必要的

function selCol(arr, colp) {
    let items = [];
    colp.forEach((element) => {
        arr.forEach((row) => {
            items.push(row[element]);
            return items;
        });

    });
    return items;
}
forEach()
不返回任何内容<代码>映射()。因此
返回colp.forEach((element)=>{
将始终不返回任何内容。