从foreachjavascript返回

从foreachjavascript返回,javascript,ecmascript-6,Javascript,Ecmascript 6,我有以下代码: options.forEach((option) => { return(option.get('template_name')) }) 其中“选项”包含两个贴图的列表 我希望这会返回模板名,但我得到的是2 为什么会这样?如何从javascript中的forEach函数返回 forEach不返回 改用map 此外,要使用map选项,必须是一个数组 看看这个例子 var options=Array.from(document.getElementById('selec

我有以下代码:

options.forEach((option) => {
  return(option.get('template_name'))
})
其中“选项”包含两个贴图的列表

我希望这会返回模板名,但我得到的是2
为什么会这样?如何从javascript中的
forEach
函数返回

forEach
不返回

改用
map

此外,要使用
map
选项,必须是一个数组

看看这个例子

var options=Array.from(document.getElementById('selections').options),
newOptions=options.map(函数(项){
返回项.value
});
console.log(新选项);
document.getElementById('results').insertAdjacentHTML('afterbegin',newOptions.reduce((a,b)=>a.concat(`${b}'),'')

从foreachjavascript返回
沃尔沃汽车
萨博
欧宝
奥迪

forEach
不会返回

改用
map

此外,要使用
map
选项,必须是一个数组

看看这个例子

var options=Array.from(document.getElementById('selections').options),
newOptions=options.map(函数(项){
返回项.value
});
console.log(新选项);
document.getElementById('results').insertAdjacentHTML('afterbegin',newOptions.reduce((a,b)=>a.concat(`${b}'),'')

从foreachjavascript返回
沃尔沃汽车
萨博
欧宝
奥迪

这就是黄金旧for循环的好处:

 for(var option of options){
    return option.get("template_name");
 }
这等于:

 return options[0].get("template_name");

或获取所有名称:

 const tnames = options.map( option => option.get("template_name") );

这就是黄金旧换环的好处:

 for(var option of options){
    return option.get("template_name");
 }
这等于:

 return options[0].get("template_name");

或获取所有名称:

 const tnames = options.map( option => option.get("template_name") );

你能说明你期望得到什么回报吗?是单个模板名称,还是数组中每个“选项”的模板名称列表?如果是前者,Jonas w的答案就足够了,如果后者使用
.map()
。你能分享期权对象吗?你能澄清你期望得到的回报吗?是单个模板名称,还是数组中每个“选项”的模板名称列表?如果是前者,Jonas w的答案就足够了,如果后者使用
.map()
。那么为什么首先要循环呢?@baao我打赌op遗漏了某种If…足够公平了…:DSo为什么一开始就循环?@baao我打赌op漏掉了某种“如果…”足够公平…:D