Jquery 以最快的方式获得空格分隔字符串中的最后一个单词
我使用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;
<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);
}