Javascript 获取具有不同数据类型的数组的和
我正在尝试获取包含不同数据类型的数组的总和。例如,数组可以包含字符串、数字或数组,并且我的函数应该仍然能够获取数组的和。现在我正试图弄清楚如何将字符串值转换成数字。我希望我的函数计算数组[2,'21',19]的和并返回答案42,但现在它将数字转换为字符串并返回'2219'。 这就是我到目前为止所做的:Javascript 获取具有不同数据类型的数组的和,javascript,arrays,string,Javascript,Arrays,String,我正在尝试获取包含不同数据类型的数组的总和。例如,数组可以包含字符串、数字或数组,并且我的函数应该仍然能够获取数组的和。现在我正试图弄清楚如何将字符串值转换成数字。我希望我的函数计算数组[2,'21',19]的和并返回答案42,但现在它将数字转换为字符串并返回'2219'。 这就是我到目前为止所做的: for(let i = 0; i < values.length; i++) { if (typeof values[i] === 'string') { Number(valu
for(let i = 0; i < values.length; i++) {
if (typeof values[i] === 'string') {
Number(values[i])
return Number(values.reduce((i, j) => {return i + j}))
}
}
for(设i=0;i{return i+j}))
}
}
您应该将每个元素转换为数字,而不是最终结果
常量值=[2,'21',19];
常量和=值。减少((c,a)=>数字(c)+数字(a));
控制台日志(总和)代码>您应该将每个元素转换为数字,而不是最终结果
常量值=[2,'21',19];
常量和=值。减少((c,a)=>数字(c)+数字(a));
控制台日志(总和)代码>您也可以使用parseInt()方法。您也可以使用parseInt()方法。如果您只对列表中的“字符串”和“数字”感兴趣,请查看以下内容:
var sum = 0;
for(let i = 0; i < values.length; i++) {
if (typeof values[i] === 'string') {
sum += Number(values[i])
} else {
sum += values[i]
}
}
var总和=0;
for(设i=0;i
如果您只对列表中的“字符串”和“数字”感兴趣,请查看以下内容:
var sum = 0;
for(let i = 0; i < values.length; i++) {
if (typeof values[i] === 'string') {
sum += Number(values[i])
} else {
sum += values[i]
}
}
var总和=0;
for(设i=0;i
谢谢!它现在起作用了,我不知道我怎么没看见that@TrailorLord没问题!不要忘了将答案标记为已被未来读者接受。您也可以使用值。reduce((c,a)=>c+Number(a),0)代码>以防止蓄能器重复浇铸。当传递长度为0或1的数组时,这也有按预期工作的好处。谢谢!它现在起作用了,我不知道我怎么没看见that@TrailorLord没问题!不要忘了将答案标记为已被未来读者接受。您也可以使用值。reduce((c,a)=>c+Number(a),0)代码>以防止蓄能器重复浇铸。这还具有在传递长度为0或1的数组时按预期工作的好处。