feat: add new file

This commit is contained in:
Daniel
2026-03-24 10:35:58 +08:00
commit 2788fc468f
9058 changed files with 896924 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
/**
* Given an array and a number N, return a new array which contains every nTh
* element of the input array. For n below 1, an empty array is returned.
* If isValid is provided, all candidates must suffice the condition, else undefined is returned.
* @param {T[]} array An input array.
* @param {integer} n A number
* @param {Function} isValid A function to evaluate a candidate form the array
* @returns {T[]} The result array of the same type as the input array.
*/
export function getEveryNthWithCondition(array, n, isValid) {
if (n < 1) {
return [];
}
if (n === 1 && isValid === undefined) {
return array;
}
var result = [];
for (var i = 0; i < array.length; i += n) {
if (isValid === undefined || isValid(array[i]) === true) {
result.push(array[i]);
} else {
return undefined;
}
}
return result;
}