首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JS:在箭头函数语法中使用'return‘

JS:在箭头函数语法中使用'return‘
EN

Stack Overflow用户
提问于 2017-09-24 04:01:57
回答 4查看 3.1K关注 0票数 1

我目前正在尝试返回animals数组中每个字符串的每个第一个字符,并使用速记箭头函数语法将其存储在一个名为secretMessage的新数组中。但是,我遇到了以下错误。

错误

/home/ccuser/workspace/learn-javascript-iterators-E3/main.js:5
secretMessage.map(animal => return animal[0]);
                            ^^^^^^
SyntaxError: Unexpected token return

Js

let animals = ['Hen', 'elephant', 'llama', 'leopard', 'ostrich', 'Whale', 'octopus', 'rabbit', 'lion', 'dog'];

secretMessage.map(animal => return animal[0]);

console.log(secretMessage.join(''));

为什么会发生这种情况?如何解决这个错误?

EN

回答 4

Stack Overflow用户

发布于 2017-09-24 04:04:12

删除单词return

secretMessage.map(animal => animal[0]);

fat arrow函数自动返回表达式。

仅当函数包装在块中时才需要返回:

  secretMessage.map(animal => {
    return animal[0];
  });
票数 0
EN

Stack Overflow用户

发布于 2017-09-24 04:04:33

从箭头函数中删除return

secretMessage.map(animal => animal[0]);

或包含块

secretMessage.map(animal => { return animal[0] });

正在讨论的代码的另一个问题是,.map()的结果没有设置变量,导致.map()调用只迭代secretMessage,而不在新的数组中定义结果。.map()的结果需要在变量标识符处定义。您还可以使用对象析构来缩短代码

let animals = ['Hen', 'elephant', 'llama', 'leopard', 'ostrich', 'Whale', 'octopus', 'rabbit', 'lion', 'dog'];

let secretMessage = animals.map(({0:s}) => s);

console.log(secretMessage.join(""));

票数 0
EN

Stack Overflow用户

发布于 2017-09-24 04:04:36

当你有一个没有大括号的单行箭头函数时,你不需要返回。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46383775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档