当应该返回对象数组时,数组映射返回未定义的数组
Array map returning array of undefined when should return array of objects
为什么
['a', 'b', 'c'].map((x) => { letter: x })
返回一个未定义数组
和
['a', 'b', 'c'].map((x) => [{ letter: x }][0])
返回正确的对象数组?
因为
-
使用大括号作为块语句。
-
您有
letter
作为标签。 -
x
只是一个值,没有任何作用。 -
undefined
的返回值是函数的标准返回值,没有任何带值的返回语句。要返回一个非默认值,函数必须有一个
return
语句来指定要返回的值。没有return语句的函数将返回一个默认值。在使用new
关键字调用构造函数的情况下,默认值是其this形参的值。对于所有其他函数,默认返回值是undefined。
正确调用映射对象。
console.log(['a', 'b', 'c'].map(x => ({ letter: x })));
您需要在()
中包装对象
var result = ['a', 'b', 'c'].map((x) => ({ letter: x }))
console.log(result)
缺少显式返回语句的函数将返回undefined。() => {}
相当于function(){}
。x => x
等价于function(x){ return x;}
所以没有{}
的箭头函数将返回表达式的计算值
相关文章:
- 对象数组返回自最近日期以来的最高总体值
- 从多维数组返回嵌套数组
- 为什么当我点击<a>使用纯javascript;这个“;返回url,数组返回“url”;未定义”;
- 带多维数组返回字符串的json_encode;阵列”;而不是数据
- 如何将 AJAX 响应作为 JavaScript 数组返回
- 我正在尝试在 JS 中制作这个随机名称生成器.数组返回未定义
- .push() 多个对象进入 JavaScript 数组返回 'undefined'
- 如何按属性从可观察数组返回项
- 通过jquery发送的关联php数组返回[对象对象]
- 从 Javascript 中的对象数组返回单个属性的数组
- 循环遍历对象数组返回“未定义”
- 拼接数组返回空的序列
- Javascript 多维数组返回第一个值,然后失败
- Json 数组返回空值
- 从下划线.js中的数组返回一系列值
- for 语句不从数组返回值
- MongoDB从数组返回特定字段
- 试图将数组返回到表中的列表中
- Javascript中的二维数组返回未定义的数组
- 将函数数组作为布尔值数组返回