【发布时间】:2015-11-12 15:02:25
【问题描述】:
我有一些代码,它本质上是一个对象数组,只是为每个项目添加一个额外的键。我希望能够像实验一样简洁地表达这一点。
let fruits = [
{"type" : "orange"},
{"type" : "apple"},
{"type" : "banana"}
];
console.log(fruits.map((fruit) => {
fruit.price = "$1.00";
return fruit;
}));
目前,这是可行的,但它肯定没有一个衬里,return 语句仍然在那里,我觉得有一种方法可以摆脱它,因为胖箭头语法。
【问题讨论】:
-
在调试了一个奇怪的问题 4 小时后,我痛苦地发现,赋予 map 函数的对象是原始数组中的实际对象。这意味着在这种情况下,您实际上可能不必在函数中返回。原来的数组会被修改
-
“只是添加了一个额外的键” - 这意味着不涉及映射。所以
map不是开始的正确工具。 -
我不知道为什么 Felix Kling 删除了 ES6 标签……它本质上是在询问如何围绕粗箭头编写代码。 @Suppen:感谢您指出这一点。就我而言,我确实想返回,因为我想对结果使用方法链接。
-
简单来说:
map是你在做变换的时候用的,输入的大小就等于输出的大小。在这种情况下,我不会修改fruits的大小,所以map是正确的工具。
标签: javascript functional-programming ecmascript-6