javascript - 从ES5到ES6的superPower功能

标签 javascript ecmascript-6 static-methods arrow-functions

我有一个名为 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/

相关文章:

java - 为什么我的静态变量的值每次调用时都会改变?

javascript - 使用 CoffeeScript 编写 document.write

javascript - 用babel编译代码后,属性不存在

javascript - 查找和替换数组中的对象(基于 id)

javascript - 如何在传奇中使用警报,暂停它,并且仅在按下按钮时才继续?

java - java中main中声明的变量本质上是静态的吗?

c# - 如何避免字典中的空键错误?

javascript - 如何从react-google-map中获取多边形的路径?

javascript - 新iPad(iPad 3),如何处理图像?自动加载正确大小的 JS 脚本?

javascript - Javascript 中的左 trim