.indexOf()的反义词是什么?我使用正则表达式来查找字符串中的数字,现在我想将它们一起添加:
function getnum(str){
var nums= str.match(/\d+/g);
return //30+83//
}
getnum("sdsoi30adsd83")
我可以使用哪种类型的.charAt()等效吗?
对不起,这是一个非常初学的问题。我整天都在编码,我意识到答案可能非常明显,但我看起来整个devdocs.io都没有运气。
答案 0 :(得分:5)
function getnum(str){
var nums= str.match(/\d+/g);
var total=0;
for(var i=0;i<nums.length;i++)
{
total+=Number(nums[i]);
}
return total;
}
getnum("sdsoi30adsd83");
答案 1 :(得分:0)
例如,第5个字符的字符是
"sdsoi30adsd83"[4]
是“我”
答案 2 :(得分:0)
return nums.reduce(function(c, n) {
return c + parseInt(n);
}, 0);
在这里演示 - http://jsfiddle.net/TyV3s/
答案 3 :(得分:0)
您还可以使用ES5 map-reduce功能解决此问题 当然,for循环解决方案可以正常工作。
function getnum(str){
var nums= str.match(/\d+/g);
console.log(nums);
return nums.map(function (str) {
// convert to a Int array
return parseInt(str);
}).reduce(function (prev, curr) {
return prev+curr;
}, 0);
}
console.log('result=' + getnum("sdsoi30adsd83"));
关于您的原始问题,与indexOf()
相反的是.
或[]
的索引。
var a = "sdsoi30adsd83";
a[a.indexOf('3')]; // = "3"