p-c
permuations, combinations, rankName and lot more: (in development mode) all use cases not completed yet
Installation
npm install p-c
Testing (after installing)
npm test
Start using (after installing) (trying)
you can try as soon as you install the package with your own input. 😄
npm start
npm start <method> <input-string>
npm start rank rohan
npm start count rohan
npm start all rohan
npm start list rohan
Usage
var pc = ; ; /* [ 'aaa', 'aab', 'aac', 'aba', 'abb', 'abc', 'aca', 'acb', 'acc', 'baa', 'bab', 'bac', 'bba', 'bbb', 'bbc', 'bca', 'bcb', 'bcc', 'caa', 'cab', 'cac', 'cba', 'cbb', 'cbc', 'cca', 'ccb', 'ccc' ] */; // [ '00', '01', '10', '11' ]; /* [ 'aa', 'ab', 'ba', 'bb' ] */; /* [ 'bb', 'bc', 'cb', 'cc' ] */; /* [ 'aaaa', 'aaab', 'aaac', 'aaba', 'aabb', 'aabc', 'aaca', 'aacb', 'aacc', 'abaa', 'abab', 'abac', ... , 'cbbc', 'cbca', 'cbcb', 'cbcc', 'ccaa', 'ccab', 'ccac', 'ccba', 'ccbb', 'ccbc', 'ccca', 'cccb', 'cccc' ] 81 permutations */ ; // 19; // 61 ; // 27 (= 3^3); // 81 (= 3^4) var result = pc; // returns an objectresult;result; var result = ; // returns an objectresult;result; //examples with length // [ '000', '001', '010', '011', '100', '101', '110', '111' ] // [ 'aa', 'ab', 'ac', 'ad', 'ba', 'bb', 'bc', 'bd', 'ca', 'cb', 'cc', 'cd', 'da', 'db', 'dc', 'dd' ]
Notes
all 3: pc(args)
, pc.permute(args)
& pc.name(args)
are equivalent
-
args: param1
-
args: param1, len(number)
-
args: param1, opts(object)
-
param1: string // string or convertible to string
-
param1: array // array of chars // joined using no seperator
Advanced
//examples with opts; // [ 'cc', 'cb', 'ca', 'cd', 'bc', 'bb', 'ba', 'bd', 'ac', 'ab', 'aa', 'ad', 'dc', 'db', 'da', 'dd' ]; // [ 'ab', 'ac', 'ad', 'ba', 'bc', 'bd', 'ca', 'cb', 'cd', 'da', 'db', 'dc' ]; // [ 'cb', 'ca', 'cd', 'bc', 'ba', 'bd', 'ac', 'ab', 'ad', 'dc', 'db', 'da' ]
Defaults
- repeatChars: true
- sortChars: true
- length: length of input string
Examples explained in AMAP detail
AMAP: as much as possible 😉
var string = 'cab'; pc(string).list();
- will produce same result if
string = 'cba'
or'abc'
or'acb'
.. - Objective: get an array of all the permutations made by characters (sorted) of input
string
- process:
- save length of string
- find distinct characters, sort these
- repeat is ON
- push permutations of saved length in array, return it
- will produce same result if
var string = 'cab'; pc(string).rank();
- will NOT produce same result if
string = 'cba'
or'abc'
or'acb'
.. - Objective: find position of input
string
in suchlist()
- notes:
- other than string's length is not recommended
- sortChars=false is highly discouraged, while
rank()
, BECAUSE you will get 1 always.
- will NOT produce same result if