【发布时间】:2021-08-05 11:32:10
【问题描述】:
我在 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);
}
}
【问题讨论】:
-
为什么不做
filesList.push({title: torrent.title, s: torrent.seeds, p: torrent.peers}?如果您稍后在其他地方需要单独的值,使用字符串似乎是一种反模式 -
@LawrenceCherone 因为我使用
fileList来选择inquirerjs 的问题。不知道有没有可能
标签: javascript node.js webtorrent inquirerjs