indexOf的反义词是什么?

时间:2013-09-24 05:59:03

标签: javascript

.indexOf()的反义词是什么?我使用正则表达式来查找字符串中的数字,现在我想将它们一起添加:

function getnum(str){
    var nums= str.match(/\d+/g);
    return //30+83//
 }
 getnum("sdsoi30adsd83")

我可以使用哪种类型的.charAt()等效吗?

对不起,这是一个非常初学的问题。我整天都在编码,我意识到答案可能非常明显,但我看起来整个devdocs.io都没有运气。

4 个答案:

答案 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"

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype#Methods