我有一個名爲superPower的函數,它接受一組數字並返回一個數字。這個數字是通過將每個元素乘以10到它在數組中的索引位置的冪來創建的,然後將每個元素添加到一起。從ES5到ES6的superPower功能
這是ES5的版本我需要重構到ES6
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)));
// });
// };
我將提供整個來龍去脈,你re right @mplungjan – randseed1724
@RobG我jsut添加了一個片段,向您展示整個上下文。在工作之前,我正在測試課堂外的重構。它工作後,我會delate的代碼,並將其添加到類的主體。 – randseed1724
從舊的瀏覽器中不工作,從ES5到6的預期改進 – mplungjan