找到最后一个选定字符的索引的最简单方法

时间:2014-09-11 08:23:12

标签: jquery arrays

我制作了如下代码,但我对它的完成情况并不满意。 也许是找出例如最简单的方法所有选中字符的索引是一个字符串? 我知道我可以使用indexOf()(我知道我可以搜索索引)或match()但它总是返回第一个出现元素的索引。我确实尝试将split()字符串添加到数组并使用inArray(),但仍然不是这样。

找到最后一个字符的索引是什么目标。

    function returnLastUnderscorePosition(string, offset) {            
        if (!string || string.match('_') === null) {
            return 0;
        }

        var intPosition = string.match('_').index + 1,
                strStringToFind = string.slice(intPosition);

        if (strStringToFind.match('_')) {
            intPosition += returnLastUnderscorePosition(strStringToFind, intPosition);
        } else {
            return (offset) ? intPosition + offset : intPosition;
        }

    }

由于

2 个答案:

答案 0 :(得分:2)

您可以使用lastIndexOf()来获取一个字符串在另一个字符串中最后出现的位置:

function returnLastUnderscorePosition(string, offset) {            
    if (!string || string.match('_') === null) 
        return 0;

    var intPosition = string.lastIndexOf('_');
    return (offset) ? intPosition + offset : intPosition;
}

Example fiddle

Further reading on lastIndexOf()

答案 1 :(得分:0)