我们需要编写一个JavaScript函数,该函数将数字数组作为第一个也是唯一的输入。
该函数从原始数组中选择所有可能的奇数长度的子数组,计算它们的总和并返回总和。
注意,子数组是指数组的连续子序列,而不是数字的任何可能组合。
例如 -
如果输入数组是-
const arr = [1, 2, 3, 4, 5];
那么所有可能的奇数长度数组将是-
[1], [2], [3], [4], [5], [1, 2, 3], [2, 3, 4], [3, 4, 5], [1, 2, 3, 4, 5]
他们的总和将是-
const output = 57
const arr = [1, 2, 3, 4, 5]; const sumArray = (arr = []) => arr.reduce((a, b) => a + b); const oddSum = (arr = []) => { let len = 1; let sum = 0; const { length } = arr; while(len <= length){ for(let i = 0; i + len <= length; i++){ sum += sumArray(arr.slice(i, i + len)); }; len += 2; }; return sum; }; console.log(oddSum(arr));
输出结果
这将产生以下输出-
57