赔率和赔率之间的和与差



所以我设法将奇数和偶数分开,但我很难弄清楚如何将赔率与赔率和偶数相加,然后减去它来得到答案。即

(1+3+5+7+9(-(2+4+6+8(=5

let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]

sumDiff(numbers);

function sumDiff(numbers) {
let even = [];
let odd = [];

for (let i = 0; i < numbers.length; i++) {
if (numbers[i] % 2 === 0) {
even.push(numbers[i]);
} // end 
else {
odd.push(numbers[i]);
}// end else

} //end of for loop

console.log(odd);
console.log(even);
} // end of function

现在我不想要完整的答案,而是朝着正确的方向努力。我想我可以先把奇数和偶数分开,然后再从那里开始。

我是否必须创建一个新函数,或者我仍然可以在同一个函数中完成它?

您的代码运行良好,对于您正在寻找的缺失功能,您可以使用Array.prototype.reduce()函数来对您创建的两个数组的值求和,如下所示:

let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]

sumDiff(numbers);
function sumDiff(numbers) {
let even = [];
let odd = [];
for (let i = 0; i < numbers.length; i++) {
if (numbers[i] % 2 === 0) {
even.push(numbers[i]);
} // end 
else {
odd.push(numbers[i]);
}// end else
} //end of for loop
console.log(odd);
console.log(even);

let oddSum = odd.reduce((r, s) => r += s, 0)
let oddEven = even.reduce((r, s) => r += s, 0)

console.log("odd sum total: " + oddSum)
console.log("even sum total: " + oddEven)
console.log("difference: " + (oddSum - oddEven))
} // end of function

最新更新