我有一个名为 superPower 的函数,它接受一个数字数组,并返回一个数字。该数字是通过将每个元素乘以 10 其在数组中的索引位置的幂,然后将每个元素加在一起而创建的。
这是我需要重构为ES6的ES5版本
ArrayFunctions.superPower = function(array){
return array.reduce(function(sum, number, index){
return sum + (number * (Math.pow(10, index)));
});
};
这是我到目前为止所尝试过的,但它不起作用:
static superPower (array) {
return array.reduce(((sum, number, index) => sum + number + index ) {
return (sum + (number => number ** (10, index) ));
});
}
在下面找到完整的代码:
class ArrayFunctions {
constructor () {
}
static printSpecial (array) {
return array.join(" --- ");
}
static doubleArray (array) {
return array.map(number => number * 2);
}
static superPower (array) {
// return array.reduce( ((sum, number, index) => sum + number + index); {
// return sum + (number * (Math.pow(10, index)));
// });
}
}
// Method to refactor
ArrayFunctions.superPower = function(array){
return array.reduce(function(sum, number, index){
return sum + (number * (Math.pow(10, index)));
});
};
// Here I am testing how to refactor it
// ArrayFunctions.superPower = function(array){
// return array.reduce(((sum, number, index) => sum + number + index ) {
// return (sum + (number => number ** (10, index) ));
// });
// };
最佳答案
就像:
ArrayFunctions.superPower = function(array){
return array.reduce((sum, number, index) => {
return sum+number*Math.pow(10, index);
});
}
关于javascript - 从ES5到ES6的superPower功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43290414/