nodejs - 如何在分隔符后删除部分字符串

问题描述

我在 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,以通知用户有关文件的种子和同级。当用户从列表中选择一个文件时,我正在搜索对象数组以找到该文件并将其返回。如果我不将 s:valuep:value 添加文件名中,一切都按预期工作,但由于我需要提供这些信息,我如何在循环之前从文件名中删除它们数组?

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

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

解决方法

不太清楚第二个片段中如何使用“filesList”,但要回答标题中的问题,您可以使用字符串内置函数的组合删除以“s:”开头的部分{ {1}} 和 indexOf

substring

indexOf:MDN Docs

子串:MDN Docs