nodejs - 如何删除定界符后的部分字符串

nodejs - how to remove part of a string after a delimiter

我在 nodejs 脚本中使用此代码将一些元素推送到 list 查询类型的数组中。

for (let [index, torrent] of results.entries()) {
    if (torrent.seeds > 0 && torrent.peers > 0) {
        filesList.push(`${torrent.title} s:${torrent.seeds} p:${torrent.peers}`);
        filesDetails.push(torrent);
    } else {
        results.splice(index, 1);
    }
}

如您所见,我在文件名后添加 s:valuep:value 以告知用户文件的种子和对等项。当用户 select 列表中的文件时,我正在搜索对象数组以找到该文件并将其返回。如果我不将 s:valuep:value 添加到文件名,一切都按预期工作,但由于我需要提供此信息,我如何在循环之前将它们从文件名中删除数组?

这是我目前用来在对象数组中找到正确文件的代码

const selectedTorrent = [];
for (let f of filesDetails) {
    if (f.title === availableTorrents.selected) {
        selectedTorrent.push(f);
    }
}

不太清楚第二个片段中“filesList”是如何使用的,但是要回答标题中的问题,您可以使用字符串 [=21] 的组合删除从“s:”开始的部分=] 函数 indexOfsubstring:

let title = `Torrent title s:${torrent.seeds} p:${torrent.peers}`;

let strippedTitle = title.substring(0, title.indexOf(" s:")); // returns "Torrent title"

indexOf: MDN Docs

子字符串:MDN Docs