如何将ES6模板文字输出转换为数字?

时间:2019-07-14 12:56:52

标签: javascript ecmascript-6

我正在研究一种算法,我希望输出是两个以空格分隔的长整数,但是在获取值并将其作为模板字符串文字插入后,这些值始终以字符串形式返回。

我尝试返回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”;

2 个答案:

答案 0 :(得分:1)

您不能返回多个值。最接近的方法是返回包含2个元素的数组,如下所示:

return [minSum, maxSum];

答案 1 :(得分:1)

在字符串模板中添加两个数字只能将字符串用作字符串模板,因为它总是返回一个字符串。 现在的问题是如何从函数返回minSummaxSum的值,您可以按照@HeySora在他的回答中所说的那样返回一个数组,但是我建议返回一个带有两个键{{ 1}}和minSum

maxSum

然后可以用作:

return { minSum, maxSum, }

看到您的问题令我有些惊讶,因为求和等于0即可结束或取反。