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 an Error.
  • If provided a non-string for the second argument, the function returns false.

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
Did you find this page helpful?