我有一个叫做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/