使用javascript在字符串中添加单个数字的最简单方法是什么

使用javascript在字符串中添加单个数字的最简单方法是什么,javascript,sum,Javascript,Sum,我在一个应用程序中有一些生成字符串的逻辑,如下所示: "001" "021" "031" 我想用一个字符串拆分这个字符串,然后以一种基本有效的方式添加数字 e、 g表示上面的第二个字符串 021-期望的结果是将此结果拆分为总和0+2+1=3-如何使用普通javascript按每个数字拆分字符串? var str=“021”; 变量a=str.split(“”;//将字符串转换为数组 var结果=a.减少((i,n)=>{ 返回编号(i)+编号(n) },0); console.log(结果)

我在一个应用程序中有一些生成字符串的逻辑,如下所示:

"001"
"021"
"031"
我想用一个字符串拆分这个字符串,然后以一种基本有效的方式添加数字

e、 g表示上面的第二个字符串
021
-期望的结果是将此结果拆分为总和
0+2+1=3
-如何使用普通javascript按每个数字拆分字符串?

var str=“021”;
变量a=str.split(“”;//将字符串转换为数组
var结果=a.减少((i,n)=>{
返回编号(i)+编号(n)
},0); 
console.log(结果)
//结果=3
var str=“021”;
变量a=str.split(“”;//将字符串转换为数组
var结果=a.减少((i,n)=>{
返回编号(i)+编号(n)
},0); 
console.log(结果)
//结果=3
var结果=0;
var second=“021”;
var arr=第二次拆分(“”);
对于(变量i=0;i
var结果=0;
var second=“021”;
var arr=第二次拆分(“”);
对于(变量i=0;i请尝试以下操作:

var array=“0123456”;
var result=array.split(“”).reduce((acc,cur)=>{return(+acc)+(+cur);},0);
控制台日志(结果)请尝试以下操作:

var array=“0123456”;
var result=array.split(“”).reduce((acc,cur)=>{return(+acc)+(+cur);},0);

控制台日志(结果)这可能是尽可能有效的,但它不进行任何输入验证:

var input = "0021031";
var zeroCode = "0".charCodeAt(0);

function sum(input) {
  var result = 0;
  for (var i = 0; i < input.length; ++i) {
    result += input.charCodeAt(i) - zeroCode;
  }
  return result;
}

console.log(sum(input))
var input=“0021031”;
var zeroCode=“0”。charCodeAt(0);
函数和(输入){
var结果=0;
对于(变量i=0;i
这可能是尽可能有效的,但它不进行任何输入验证:

var input = "0021031";
var zeroCode = "0".charCodeAt(0);

function sum(input) {
  var result = 0;
  for (var i = 0; i < input.length; ++i) {
    result += input.charCodeAt(i) - zeroCode;
  }
  return result;
}

console.log(sum(input))
var input=“0021031”;
var zeroCode=“0”。charCodeAt(0);
函数和(输入){
var结果=0;
对于(变量i=0;i
函数mathAdd(s){
//获取输入并按“”拆分
//使用蓄电池作为蓄能器
//使用v作为值
//将该值添加到累加器并从0开始
//返回值
返回字符串.split(“”).reduce((a,v)=>a+parseInt(v,10),0);
}
控制台日志(mathAdd(“001”);
控制台日志(mathAdd(“021”);
控制台日志(mathAdd(“031”)
函数mathAdd(s){
//获取输入并按“”拆分
//使用蓄电池作为蓄能器
//使用v作为值
//将该值添加到累加器并从0开始
//返回值
返回字符串.split(“”).reduce((a,v)=>a+parseInt(v,10),0);
}
控制台日志(mathAdd(“001”);
控制台日志(mathAdd(“021”);

控制台日志(mathAdd(“031”)
如果字符串是000011111011,那么拆分应该像
000
011
111
011
或者
11111
11
@Zabs一样吗?如果字符串是00001111011,那么拆分应该像
000
011
111
011
11111
11
@Zabs你是想保留基数8还是转换成基数10?完美的@Feathercrown-这就是我想要的:)@Zabs很高兴听到我能帮上忙!为了解释这里的一些“ISM,
split()
返回一个由给定分隔符分隔的字符串数组
reduce()
对数组的每个成员执行给定的函数并输出单个值
(…)->{…}
函数(…){…}
的箭头符号;而
+
一元运算符将值转换为数字。好的代码。它可以进一步简化为:
array.split(“”)。reduce((cur,acc)=>+cur++acc,0)累加器(您称之为“cur”的参数)被设置为数字零,并且仍然是一个数字,因此您根本不需要转换它。perfect@Feathercrown-这就是我要找的:)@Zabs很高兴听到我能帮上忙!为了解释这里的一些“ISM,
split()
返回一个由给定分隔符分隔的字符串数组
reduce()
对数组的每个成员执行给定的函数并输出单个值
(…)->{…}
函数(…){…}
的箭头符号;而
+
一元运算符将值转换为数字。好的代码。它可以进一步简化为:
array.split(“”)。reduce((cur,acc)=>+cur++acc,0)累加器(您称之为“cur”的参数)被设置为数字零,并且保持为一个数字,因此您根本不需要转换它。Vanilla Javascript是纯Javascript。Vanilla Javascript是纯Javascript。