首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript数组表达式在一行中返回对象文字

JavaScript数组表达式在一行中返回对象文字
EN

Stack Overflow用户
提问于 2019-03-05 14:00:57
回答 1查看 756关注 0票数 1

众所周知,有人可以创建一个这样的单行数组函数来返回单个值:

代码语言:javascript
复制
var func = (x) => x + 1 //func(2) == 3

您还可以创建多行数组函数,其值需要手动返回:

代码语言:javascript
复制
var funcMultiline = (x) => {
   var result = 1;
   result += x;
   return result;
}

funcMultiline(4) == 5; //true

所以问题是:假设我想在一行中返回一个新的对象,如果我使用了括号,那么array-function就会被当作一个多行函数来处理,实际上并不会返回object-literal。比方说,有没有什么直接的方法可以在map函数中创建对象文字?像这样:

代码语言:javascript
复制
[...Array(25)].map(e => {x: 5, y:10}) //this is a syntax error, but how can I make this work
EN

回答 1

Stack Overflow用户

发布于 2019-03-05 14:02:11

使用简明的主体语法params => {object:literal}Returning object literals将不会像预期的那样工作。

您必须用括号将object文本括起来:

代码语言:javascript
复制
var res = [...Array(25)].map(e => ({x: 5, y:10}))

console.log(res);

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

https://stackoverflow.com/questions/54996333

复制
相关文章

相似问题

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