Javascript 使用tostring和number方法的数字总和
有人能解释一下我在这个问题上做错了什么吗?我想使用Javascript 使用tostring和number方法的数字总和,javascript,tostring,Javascript,Tostring,有人能解释一下我在这个问题上做错了什么吗?我想使用toString和Number方法添加num变量的总和。我首先将num转换为字符串num='12345'。然后我循环遍历字符串,将其转换为一个数字,并将其添加到总和中 var num = 12345; function sumDigits(num) { var sumOfDigits = 0; num.toString(); for(var i = 0; i < num.length; i++){
toString
和Number
方法添加num
变量的总和。我首先将num
转换为字符串num='12345'
。然后我循环遍历字符串,将其转换为一个数字,并将其添加到总和中
var num = 12345;
function sumDigits(num) {
var sumOfDigits = 0;
num.toString();
for(var i = 0; i < num.length; i++){
sumOfDigits += Number(num[i]);
}
return sumOfDigits;
}
var num=12345;
函数sumdights(num){
var sumOfDigits=0;
num.toString();
对于(var i=0;i
您没有将num.toString()的结果分配给任何对象
var num=12345;
函数数(num){
var sumOfDigits=0;
num=num.toString();
对于(变量i=0;i console.log(sumdights(num))代码>您没有将num.toString()
的结果分配给任何对象
var num=12345;
函数数(num){
var sumOfDigits=0;
num=num.toString();
对于(变量i=0;i已更新:
您可以使用split、map和reduce来拆分数组,将其映射到整数,然后使用reduce函数对整数求和
如果要将解析移到reduce中,可以删除映射,但我喜欢将步骤分开
var num=12345;
函数sumdights(num){
var sumOfDigits=num
.toString()
.拆分(“”)
.map(函数(n){return parseInt(n);})
.减少(功能(acc、val){
返回acc+val;
},
0
);
返回数字;
}
var总和=总和(num);
控制台日志(总和)
已更新:
您可以使用split、map和reduce来拆分数组,将其映射到整数,然后使用reduce函数对整数求和
如果要将解析移到reduce中,可以删除映射,但我喜欢将步骤分开
var num=12345;
函数sumdights(num){
var sumOfDigits=num
.toString()
.拆分(“”)
.map(函数(n){return parseInt(n);})
.减少(功能(acc、val){
返回acc+val;
},
0
);
返回数字;
}
var总和=总和(num);
console.log(sum)
我相信您可以使用这个:
var num = 12345;
function sumDigits(num) {
//empty variable
var str;
//check type of the incoming value
(typeof num == "string") ? str = num : str = num.toString();
//this is the same with above if you don't know how to use short handed if else
/*
if(typeof num == "string"){
str = num;
} else {
str = num.toString();
}
*/
//Array's split Method and a variable which u have create already
var arr = str.split(''), sumOfDigits = 0;
for(var i in arr){
//You should use parseInt() method.
sumOfDigits += parseInt(arr[i]);
}
//return the sum of the digits
return sumOfDigits;
};
console.log(sumDigits(num));
如果您将来遇到问题,请先搜索一下,然后在此处写下:)我相信您可以使用这个:
var num = 12345;
function sumDigits(num) {
//empty variable
var str;
//check type of the incoming value
(typeof num == "string") ? str = num : str = num.toString();
//this is the same with above if you don't know how to use short handed if else
/*
if(typeof num == "string"){
str = num;
} else {
str = num.toString();
}
*/
//Array's split Method and a variable which u have create already
var arr = str.split(''), sumOfDigits = 0;
for(var i in arr){
//You should use parseInt() method.
sumOfDigits += parseInt(arr[i]);
}
//return the sum of the digits
return sumOfDigits;
};
console.log(sumDigits(num));
如果您将来遇到问题,请先搜索一点,然后在此处写入:)您需要使用charAt,因为它是字符串,而不是数组。如果执行num.toString().split(“”),则可以实现该功能;您没有保存,toString()
的结果,您需要使用charAt,因为它是字符串,而不是数组。如果执行num.toString().split(“”),则可以实现该功能;您没有保存的结果是,toString()
字符串的括号表示法是ECMAScript 5的一项功能。字符串的括号表示法是ECMAScript 5的一项功能。它得到了广泛的支持。