isAnagram
Test if a value is an anagram.
Usage
var isAnagram = require( '@stdlib/assert/is-anagram' );
isAnagram( str, value )
Tests if a value
is an anagram.
var str = 'I am a weakish speller';
var value = 'William Shakespeare';
var bool = isAnagram( str, value );
// returns true
Notes
- The function does not address the presence of diacritics.
- Only alphanumeric characters are considered.
- Capitalization is ignored.
- If provided a non-string for the first
argument
, the function throws anError
. - If provided a non-string for the second
argument
, the function returnsfalse
.
Examples
var isAnagram = require( '@stdlib/assert/is-anagram' );
var bool = isAnagram( 'I am a weakish speller', 'William Shakespeare' );
// returns true
bool = isAnagram( 'bat', 'tab' );
// returns true
bool = isAnagram( 'bat', 'TAB' );
// returns true
bool = isAnagram( 'bat', 't a b' );
// returns true
bool = isAnagram( 'bat 321', 'tab 123' );
// returns true
bool = isAnagram( 'bat', 'tabba' );
// returns false
bool = isAnagram( 'bat', 5 );
// returns false
bool = isAnagram( '123', 321 );
// returns false
CLI
Usage
Usage: is-anagram [options] [<string>] --str=<string>
Options:
-h, --help Print this message.
-V, --version Print the package version.
--str string Comparison string.
--split sep Delimiter for stdin data. Default: '/\\r?\\n/'.
Notes
If the split separator is a regular expression, ensure that the
split
option is either properly escaped or enclosed in quotes.# Not escaped... $ echo -n $'baz\ntab' | is-anagram --str=zab --split /\r?\n/ # Escaped... $ echo -n $'baz\ntab' | is-anagram --str=zab --split /\\r?\\n/
The implementation ignores trailing delimiters.
Examples
$ is-anagram baz --str=zab
true
To use as a standard stream,
$ echo -n 'tab\nbaz' | is-anagram --str=bat
true
false
By default, when used as a standard stream, the implementation assumes newline-delimited data. To specify an alternative delimiter, set the split
option.
$ echo -n 'tab\tbaz' | is-anagram --str=bat --split '\t'
true
false