从包含3个单词的字符串输出前2个单词

时间:2015-03-23 21:54:20

标签: javascript jquery arrays

我想显示包含3个单词的字符串中的前2个单词(例如)。

我有question的以下代码。

JSFIDDLE代码的

zgood

$('select option').each(function(i, item){
    var arr = $(item).text().split(' ');
    $(item).text(arr[0]);
});

代码工作正常,但只显示第一个单词。我试着让它显示2个单词,但我没有运气。所以,如果有人能说出如何让它显示我的字符串的前两个单词,那就太棒了。

2 个答案:

答案 0 :(得分:8)

您可以使用Array.prototype.sliceArray.prototype.join方法:

$('select option').text(function(_, currentText) {
    return currentText.split(' ').slice(0, 2).join(' ');
});

答案 1 :(得分:1)

你也可以用正则表达式

做同样的事情
$('select option').each(function(i, item){
    var text = $(item).text();
    var regex = /\w+\s+\w*/
    var groups = text.match(regex) || [];
    $(item).text(groups[0]);
});

这是DEMO