Update rand.js

This commit is contained in:
Namhyeon Go 2022-06-22 22:43:57 +09:00 committed by GitHub
parent 862623eba4
commit f0e5197e92
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -77,15 +77,15 @@ function sample(arr, length) {
return shuffle(arr).slice(0, length);
}
function discardCallback(callback, filename) {
function discardCallback(callback, args, filename) {
if (typeof callback !== "function") return;
var discarded = splitLn(FILE.readFile(filename, "utf-8"));
var chosen = callback();
var chosen = callback.apply(null, args);
while (chosen == null || discarded.indexOf(chosen) > -1) {
console.log("Chosen other item.");
chosen = callback(arr);
console.log("다른 항목을 찾습니다.");
chosen = callback.apply(null, args);
}
FILE.appendFile(filename, "\r\n" + chosen, "utf-8");
@ -94,7 +94,13 @@ function discardCallback(callback, filename) {
}
function discardOne(arr, filename) {
return discardCallback(one, filename);
var discarded = splitLn(FILE.readFile(filename, "utf-8"));
var _arr = arr.reduce(function(a, x) {
if (discarded.indexOf(x) < 0) a.push(x);
return a;
}, []);
return discardCallback(one, [_arr], filename);
}
exports.randomize = randomize;