我想從給定的目錄中選擇一些隨機文件。以下是我目前的實施;然而,文件夾內有太多的文件迭代它們,然後選擇幾個隨機的文件似乎矯枉過正。如何使用Node.js從給定路徑中選擇多個隨機文件?
有沒有更好的解決方案?因爲我在想知道文件夾內的所有文件是隨機選擇的前提條件?
const dirs = fs.readdirSync(IMAGE_BANK_SRC)
.map(file => {
return path.join(IMAGE_BANK_SRC, file);
});
const srcs_dup = [];
dirs.forEach(path => {
fs.readdirSync(path).forEach(file => {
srcs_dup.push(file);
});
});
// Pick few random ones from `srcs_dup`
要求:
- 選取的隨機文件應該是唯一的
- 該文件夾包含超過預期
- 減檔爲儘快
感謝這個解決方案更好地擁有像@treeless那樣的'hashCheck'。 –
@李新陽如果你瞭解Array.splice,它會根據索引取出項目。那麼爲什麼你仍然需要使用hashCheck來檢查重複文件?如果在此之後需要爲其他目的重用變量文件,則可以使用Object.assign([],files)對其進行復制。 – Simon