首页 > 解决方案 > 即使我将返回语句设置为数组,函数也会返回 void?

问题描述

我正在研究这个函数,它采用默认的距离米数组,并且转换回英尺和英里,问题是我收到这个错误我说选项必须返回一个数字数组任何想法这个语法在哪里错误。类型 'void[]' 不能分配给类型 'number[]'。

const option = () => {
    let arr = [200, 400, 800, 1000, 1, 2, 3, 4, 5];
    
      return arr.map((x, i) => {
        i <= 3 ? x * 3.281 : x / 1.609;
      });
   }
    
    
  console.log(option());

标签: typescript

解决方案


您既缺少 areturn又缺少 not:使用箭头函数时,如果您的函数体是单个语句,则可以省略 the和{} 语句return

const option = () => {
    let arr = [200, 400, 800, 1000, 1, 2, 3, 4, 5];
    
      return arr.map((x, i) => i <= 3 ? x * 3.281 : x / 1.609);
   }
    
    
  console.log(option());

顺便说一句,这还可以让您执行以下操作:

const materials = [
  'Hydrogen',
  'Helium',
  'Lithium',
  'Beryllium'
];

console.log(materials.map(material => material.length));

参考


推荐阅读