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