javascript - forEach 正在返回未定义
问题描述
我希望我的 foreach() 循环遍历一组映射并检查类型值是否匹配。如果不返回 else 语句。
功能
function checkCars(carData) {
const cars = carData.models;
models.forEach(model => {
if (model.type === 'Toyota' || model.type === 'Hyundai') {
return "Type A";
} else {
return "Type B";
}
});
}
数据库
"models": [
{type: "Toyota"}
{type: "Hyundai"}
{type: "Audi"}
{type: "VW"}
]
解决方案
Array.prototype.forEach()的返回值是undefined
,你不能从 中显式返回任何东西forEach()
。
您可以尝试使用Array.prototype.map()代替:
该
map()
方法创建一个新数组,其中填充了对调用数组中的每个元素调用提供的函数的结果。
function checkCars(carData) {
const cars = carData.models;
return models.map(model => {
if (model.type === 'Toyota' || model.type === 'Hyundai') {
return "Type A";
} else {
return "Type B";
}
});
}