我正在研究一种算法,我希望输出是两个以空格分隔的长整数,但是在获取值并将其作为模板字符串文字插入后,这些值始终以字符串形式返回。
我尝试返回Number(${minSum}
)Number(${maxSum}
);
另外,一些数学方法parseInt和parseFloat,一元运算符,或者*也许我做得不好。
function miniMaxSum(arr) {
let minSum = 0,
maxSum = 0;
for (let i = 1, j = 0; i < arr.length || j < arr.length - 1; i++, j++){
minSum += arr[j];
maxSum += arr[i];
}
return String.raw`${minSum} ${maxSum}`;
}
miniMaxSum([10, 20, 30, 40, 50]);
我希望输出为100140,我不断得到“ 100140”;
答案 0 :(得分:1)
您不能返回多个值。最接近的方法是返回包含2个元素的数组,如下所示:
return [minSum, maxSum];
答案 1 :(得分:1)
在字符串模板中添加两个数字只能将字符串用作字符串模板,因为它总是返回一个字符串。
现在的问题是如何从函数返回minSum
和maxSum
的值,您可以按照@HeySora在他的回答中所说的那样返回一个数组,但是我建议返回一个带有两个键{{ 1}}和minSum
maxSum
然后可以用作:
return { minSum, maxSum, }
看到您的问题令我有些惊讶,因为求和等于0即可结束或取反。