Jquery 以最快的方式获得空格分隔字符串中的最后一个单词

Jquery 以最快的方式获得空格分隔字符串中的最后一个单词,jquery,string,autocomplete,Jquery,String,Autocomplete,我使用jquery获取字符串中的最后一个单词, 但我想确定这是最好的方式(性能方面), 因为绳子可能会很长 此外,我想增加获取“当前”单词的功能, 这可能不仅仅是最后一句话 这是到目前为止我的代码 <script type="text/javascript"> function lookup() { var s = $('#text').val().split( " " ).pop(); if(!s.length) return false;

我使用jquery获取字符串中的最后一个单词, 但我想确定这是最好的方式(性能方面), 因为绳子可能会很长

此外,我想增加获取“当前”单词的功能, 这可能不仅仅是最后一句话

这是到目前为止我的代码

 <script type="text/javascript">
  function lookup()
  {
    var s = $('#text').val().split( " " ).pop();
    if(!s.length)
      return false;

    $('#output').html('"'+s+'"');
  }
  </script>

  <div id="main">
       <textarea id="text" rows="5" cols="50" onkeyup="lookup(this.value);">
       </textarea>
       <div id="output"></div>
  </div>

函数查找()
{
var s=$('#text').val().split(“”.pop();
如果(!s.length)
返回false;
$('#output').html('''+s+'');
}

关于如何让它处理不仅仅是“最后一个”单词的提示,也就是说,如果我将光标移回几个单词到另一个单词,我还能以某种方式获取当前位置并获取该单词吗?

尽管这可能不是绝对最快的解决方案,但这将比创建数组和弹出元素更快

我总是倾向于使用PHP的strrpos函数来做这样的事情(特别是对于文件扩展名),所以这很自然(来自)


我想知道除了最后一个单词外,其他单词怎么说。
// find position of last occurrence of string within variable
function strrpos (haystack, needle, offset) {
    var i = (haystack+'').lastIndexOf(needle, offset); // returns -1
    return i >= 0 ? i : false;
}

function lookup(val) {
    var pos = strrpos(val, ' ');
    if (pos == false)
        return false;

    // get substring of value from 0 to the last
    // occurrence of empty string
    val = val.substring(0, pos + 1);

    $('#output').html(val);
}