[7kyu]Sum of Odd Cubed Numbers

该算法题来自于 codewars【语言: javascript】,翻译如有误差,敬请谅解~

[7kyu]Sum of Odd Cubed Numbers_第1张图片

  • 任务
    • 查找并返回数组中奇数的立方和。只要其中某一个值不是数字,此函数将返回undefined(在PHP中为NULL)。
  • 例如:
    cubeOdd([1, 2, 3, 4]),返回 28。
    cubeOdd([-3,-2,2,3]),返回 0。
    cubeOdd(["a",12,9,"z",42]),返回 undefined。

  • 解答
  • 其一
const cubeOdd = arr => {
      const array = arr.filter(el=>typeof el != 'number');
      let sum = 0;
      array.length ? sum = undefined : arr.filter(el=>el%2).forEach(el => {sum += Math.pow(el,3)});
      return sum;
}
  • 其二
function cubeOdd(arr) {
      var sum = 0;
      for (var i = 0; i 
  • 其三
const cubeOdd = arr => arr.some(x=> +x !== x) ? undefined : arr.filter(x=>x%2!=0).reduce((s,x)=>s+x**3,0);
  • 其四
const undefiner = v => isNaN(v) ? undefined : v;
const cubeOdd = arr => undefiner(arr.reduce((s, v) => s + v*v%2*v*v*v, 0));
  • 其五
const cubeOdd=a=>a.filter(x=>typeof x != "number").length?undefined:a.filter(x=>x%2).map(x=>Math.pow(x,3)).reduce((a,b)=>a+b,0)

你可能感兴趣的:([7kyu]Sum of Odd Cubed Numbers)