You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用代码提取字符串的最后一个单词?现有代码仅能提取首词

提取字符串最后一个单词的字符数组实现方法

这里提供几种实用的实现方式,适配你的需求:

方法一:反向遍历(与原代码逻辑对应)

和你提取第一个单词的正向遍历思路呼应,改为从字符串末尾反向遍历,收集字符后反转得到正确顺序:

function getLastWordChars(str) {
    var lastWordChars = [];
    var data = str.split("");
    // 从字符串末尾开始遍历
    for (var i = data.length - 1; i >= 0; i--) {
        if (data[i] === ' ') {
            break;
        }
        lastWordChars.push(data[i]);
    }
    // 反转数组得到正确顺序
    return lastWordChars.reverse();
}

var result = getLastWordChars('amrit shahi');
console.log(result); // 输出 ['s', 'h', 'a', 'h', 'i']
document.write(result);

方法二:分割单词数组(简洁直观)

直接按空格分割字符串得到单词数组,取最后一个单词再拆分为字符数组:

function getLastWordChars(str) {
    var words = str.split(" ");
    var lastWord = words[words.length - 1];
    return lastWord.split("");
}

var result = getLastWordChars('amrit shahi');
console.log(result); // 输出 ['s', 'h', 'a', 'h', 'i']
document.write(result);

方法三:定位最后一个空格(兼容无空格场景)

通过lastIndexOf找到最后一个空格的位置,截取对应子串后转成字符数组,还能处理字符串中没有空格的情况:

function getLastWordChars(str) {
    var lastSpaceIndex = str.lastIndexOf(' ');
    // 无空格时直接取整个字符串
    var lastWord = lastSpaceIndex === -1 ? str : str.slice(lastSpaceIndex + 1);
    return lastWord.split("");
}

var result = getLastWordChars('amrit shahi');
console.log(result); // 输出 ['s', 'h', 'a', 'h', 'i']
document.write(result);

内容的提问来源于stack exchange,提问作者AMRIT SHAHI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 01:06:30