@packageforge/permute
v0.0.3
Published
Function to permute collections. * `permuteCombination` Iterate over combinations of elements in multiple arrays. * `permuteSample` Iterate over samples of an array in every combination. * `permuteOrder` Iterate over every order of elements in an array. *
Downloads
74
Readme
@packageforge/permute
Function to permute collections.
permuteCombination
Iterate over combinations of elements in multiple arrays.permuteSample
Iterate over samples of an array in every combination.permuteOrder
Iterate over every order of elements in an array.permuteRange
Iterate over a numeric range and return an array of the range.
permuteCombination
Iterate over combinations of elements in two or more arrays.
- Return
false
from the callback to exit the iteration.
import { permuteCombination } from '@packageforge/permute';
permuteCombination(["Lear", "Fool"], [true, false], (name, state) => {
console.log(name, state);
});
Output:
Lear, true
Lear, false
Fool, true
Fool, false
permuteSample
Iterate over samples of an array in every combination.
- Return
false
from the callback to exit the iteration.
import { permuteSample } from '@packageforge/permute';
permuteSample(["Lear", "Cordelia", "Goneril", "Regan", "Fool"], 2, names => {
console.log(names.join(', '));
});
Output:
Lear, Cordelia
Lear, Goneril
Lear, Regan
Lear, Fool
Cordelia, Goneril
Cordelia, Regan
Cordelia, Fool
Goneril, Regan
Goneril, Fool
Regan, Fool
permuteOrder
Iterate over every order of elements in an array.
- Return
false
from the callback to exit the iteration.
import { permuteOrder } from '@packageforge/permute';
permuteOrder(["Cordelia", "Goneril", "Regan"], names => {
console.log(names.join(', '));
});
Output:
Cordelia, Goneril, Regan
Cordelia, Regan, Goneril
Goneril, Cordelia, Regan
Goneril, Regan, Cordelia
Regan, Cordelia, Goneril
Regan, Goneril, Cordelia
permuteRange
Iterate over a numeric range and return an array of the range.
- The callback parameter is optional.
- Return
false
from the callback to exit the iteration and truncate the returned range without the value (exclusive). - Return
true
from the callback to exit the iteration and truncate the returned range with the value (inclusive).
import { permuteRange } from '@packageforge/permute';
const rangeOne = permuteRange(3, index => {
console.log(index);
});
console.log("rangeOne", rangeOne);
const rangeTwo = permuteRange(3, 3, index => {
console.log(index);
});
console.log("rangeTwo", rangeTwo);
Output:
0
1
2
rangeOne, 0,1,2
3
4
5
rangeTwo, 3,4,5