@cabdi_waaxid/combinations
v1.0.0
Published
Generate all possible combinations and permutations from a string with filters.
Maintainers
Readme
string-combinations
Generate all possible combinations and permutations from a string.
This utility can also filter results using start/end rules and control result length.
Installation
Install from NPM
npm install @cabdi_waaxid/combinationsExample usage:
const combinations = require("@cabdi_waaxid/combinations")
const result = combinations("abc")
console.log(result)Output Example
Input:
combinations("abc")Output:
[
"a",
"b",
"c",
"ab",
"ac",
"ba",
"bc",
"ca",
"cb",
"abc",
"acb",
"bac",
"bca",
"cab",
"cba"
]Options
You can control the generator using options.
combinations("abc", options)Available Options
| option | description | |------|-------------| | minLength | minimum result length | | maxLength | maximum result length | | unique | remove duplicate results | | sort | enable sorting | | order | "asc" or "desc" sorting | | startsWith | only include results starting with value | | endsWith | only include results ending with value | | notStartsWith | exclude results starting with value | | notEndsWith | exclude results ending with value |
Examples
Limit length
combinations("abcd", {
minLength: 2,
maxLength: 3
})Start filter
combinations("abcd", {
startsWith: "a"
})End filter
combinations("abcd", {
endsWith: "d"
})Exclude start
combinations("abcd", {
notStartsWith: "b"
})Start and end filter
combinations("abcd", {
startsWith: "a",
endsWith: "d"
})Complexity
The algorithm generates permutations, so complexity is approximately:
O(n!)
Avoid very long strings.
License
MIT
