javascript - forEach 返回未定义

标签 javascript loops

我希望 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()的返回值是未定义,您无法从forEach()显式返回任何内容。

您可以尝试使用 Array.prototype.map()相反:

The map() method creates a new array populated with the results of calling a provided function on every element in the calling array.

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

关于javascript - forEach 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59807380/

相关文章:

javascript - 在javascript中将两个二维数组相加

javascript - 有什么方法可以查明 MutationObserver 是断开连接还是正在观察?

C、使用随机数并将它们存储在数组中

c++ - 试图递归检测堆栈中的底片?

javascript - 当滚动元素底部到达父元素底部时停止 jQuery 固定位置滚动

javascript - Emscripten: emmake 生成 .js 文件

javascript - 为什么我无法在 Node 中复制数组的一部分?

linux - Bash:循环直到命令退出状态等于 0

c - 使用函数确定最小值或最大值

Java - 从循环中返回多个值,作为单个字符串