常规功能:
function square(number) {
return number.map(function (x) {
return Math.pow(x, 2);
});
}
胖箭头:
let square = (number) => {
return number.map(function(x) {
return Math.pow(x, 2);
});
}
胖箭头正确吗?还是我错过了什么?
常规功能:
function square(number) {
return number.map(function (x) {
return Math.pow(x, 2);
});
}
胖箭头:
let square = (number) => {
return number.map(function(x) {
return Math.pow(x, 2);
});
}
胖箭头正确吗?还是我错过了什么?
是的,这是正确的。您可以在任何解释器中自行测试,包括在 Stack Overflow 上:
let square = (number) => {
return number.map(function(x) {
return Math.pow(x, 2);
});
}
result.value = square([1,2,3,4]);
<output id="result"></output>
你的例子是正确的。
let square = (number) => {
return number.map(function(x) {
return Math.pow(x, 2);
});
}
如果只有 1 个参数,您也可以省略括号。
let square = number => {
return number.map(function(x) {
return Math.pow(x, 2);
});
}
为什么不是 lambda 中的 lambda?
let square = number => {
return number.map( x => {
return Math.pow(x, 2);
});
}
如果它是单个表达式,您还可以删除花括号并使用默认返回。
let square = number => number.map(x => Math.pow(x, 2));
最后,让我们通过使用 lambda 作为参数并省略粗箭头来清理它。这个易于阅读、可扩展、可重用且非常简洁。
let power2 = x => Math.pow(x,2)
let square = number => number.map(power2);
一个工作片段。
let power2 = x => Math.pow(x,2)
let square = number => number.map(power2);
console.log(square([4,5,6]))