【发布时间】:2020-01-19 05:22:37
【问题描述】:
我不知道怎么了,我的函数 miniMaxSum 不是求和 1+3+4+5。最后,结果数组变成了这个 [ 14, 12, 11, 10 ],它应该看起来像这样 [ 14, 13, 12, 11, 10 ]
function miniMaxSum(arr) {
let results = [];
let actualValue = 0;
let skipIndex = 0;
for (let i = 0; i < arr.length; i++) {
//skip actual index
if (i == skipIndex) continue;
actualValue += arr[i];
//restart the loop
if (i == arr.length - 1) {
skipIndex++;
results.push(actualValue);
actualValue = 0;
i = 0;
}
}
console.log(results);
console.log(Math.min(...results), Math.max(...results));
}
console.log(miniMaxSum([1, 2, 3, 4, 5]));
【问题讨论】:
-
该函数要实现的逻辑是什么?你能用英语解释一下输入是如何产生期望的结果的吗?
-
这翻译为“我的程序没有做某事”。我们真的不确定为什么该输出有效。这里有什么规则?
标签: javascript arrays loops for-loop