从数组映射返回对象

don*_*lan 5 javascript arrays dictionary object

假设我可以硬编码以下内容:

const data = [ { a: 0, b: 1}, {a:2,b:3},... ]
Run Code Online (Sandbox Code Playgroud)

但是我有一个数组中的数据,我想写如下内容:

const data = my_arr.map((element,index) => { a:element, b:index});
Run Code Online (Sandbox Code Playgroud)

如何从数组映射中产生这种对象?

nem*_*035 6

您只需要在返回的对象文字周围添加括号。

const my_arr = [1,2,3,4,5];
const data = my_arr.map((element, index) => ({ a: element, b:index }));
//                                          ^                       ^    

console.log(data);
Run Code Online (Sandbox Code Playgroud)

原因是 JavaScript 解析器规则假定{以下=>是函数体的开始。为了解决这个问题,我们将对象包装在()(或者我们可以添加一个return语句)

在此处阅读更多信息:https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions#Returning_object_literals