我在nodejs脚本中使用这段代码来推送list
问题类型inquirerjs的数组中的一些元素。
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:value
和p:value
,以通知用户文件的种子和对等方。当用户从列表中选择一个文件时,我会在对象数组中搜索以找到该文件并将其发回。如果我不将s:value
和p:value
添加到文件名中,所有操作都如预期,但由于我需要提供这些信息,如何在循环数组之前将它们从文件名中删除?
这是我目前正在使用的代码,用于在对象数组中找到正确的文件
const selectedTorrent = [];
for (let f of filesDetails) {
if (f.title === availableTorrents.selected) {
selectedTorrent.push(f);
}
}
不太清楚如何"文件列表";在第二个片段中使用,但要回答标题中的问题,您可以删除以"开头的部分;s: ";使用字符串内置函数indexOf
和substring
:的组合
let title = `Torrent title s:${torrent.seeds} p:${torrent.peers}`;
let strippedTitle = title.substring(0, title.indexOf(" s:")); // returns "Torrent title"
索引:MDN文档
子字符串:MDN文档