现在我有一个存储字符串的变量。
var value = "66+88";
如何更换' +'使用标准+运算符以便我可以评估
66 + 88 = 154
由于
答案 0 :(得分:3)
使用String#split
,Array#map
来获取Number
,然后Array#reduce
var value = "66+88";
var result = value.split('+').map(Number).reduce(function(a, b) {
return a + b;
}, 0);
console.log(result);
答案 1 :(得分:1)
您可以使用eval
:
var value = eval("66+88");
但是你需要小心,特别是如果这个字符串来自用户。
此函数会将输入字符串评估为JavaScript,并可能损坏您的其他脚本或可用于黑客攻击。
使用它需要您自担风险!
答案 2 :(得分:0)
使用String#replace
var value = "66+88";
var result = value.replace(/^(\d+)\+(\d+)$/, function(x, y, z){
return parseInt(y) + parseInt(z) })
console.log(result);
答案 3 :(得分:0)
您可以使用split()方法拆分字符串。
var value = "66+88";
var no = value.split('+');
console.log(parseInt(no[0]) + parseInt(no[1]));
split()方法将返回数组。在这种情况下
不= [' 66',' 88']
parseInt()会将字符串转换为Int,您可以计算总和。
谢谢!
答案 4 :(得分:0)
您可以使用split
和reduce
来总结字符串。
这是一个例子。
var value1 = "66+88";
var value2 = "66+88+44";
function sumUpStr (strToSum) {
var sum = strToSum.split("+").reduce(function(prev, next) {
return +prev + +next;
});
return sum;
};
console.log("Sum of value1 is: " + sumUpStr(value1));
console.log("Sum of value2 is: " + sumUpStr(value2));
console.log("Sum of value1 + value2 is: " + sumUpStr(value1 + "+" + value2));