首页 > 解决方案 > 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"}
]

标签: javascriptloops

解决方案


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";
    }
  });
}

推荐阅读