Javascript indexOf的反面是什么?

Javascript indexOf的反面是什么?,javascript,Javascript,与.indexOf()相反的是什么?我使用regexp查找字符串中的数字,现在我想将它们相加: function getnum(str){ var nums= str.match(/\d+/g); return //30+83// } getnum("sdsoi30adsd83") 对于我可以使用的数组,是否有某种.charAt()等价物 很抱歉,这是一个非常初级的问题。我花了一整天的时间编写代码,我意识到答案可能很明显,但我在devdocs.io上到处寻找,结果都不走运。

与.indexOf()相反的是什么?我使用regexp查找字符串中的数字,现在我想将它们相加:

function getnum(str){
    var nums= str.match(/\d+/g);
    return //30+83//
 }
 getnum("sdsoi30adsd83")
对于我可以使用的数组,是否有某种.charAt()等价物


很抱歉,这是一个非常初级的问题。我花了一整天的时间编写代码,我意识到答案可能很明显,但我在devdocs.io上到处寻找,结果都不走运。

例如,第5个字符的字符是

"sdsoi30adsd83"[4] 
哪一个是“i”

函数getnum(str){
var nums=str.match(/\d+/g);
var合计=0;
对于(var i=0;i

此处演示-

您也可以使用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"

如果你想跳入
数组中的某个字段,为什么不试试
yourArray[x]
,其中
x
是你要找的位置,或者
eval(nums.join('+'))
:-O@RobG我一直在强烈劝阻不要使用eval。
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"));
var a = "sdsoi30adsd83";
a[a.indexOf('3')]; // = "3"