endsWith

Test if a string ends with the characters of another string.

Usage

var endsWith = require( '@stdlib/string/base/ends-with' );

endsWith( str, search, len )

Tests if a string ends with the characters of another string.

var str = 'Remember the story I used to tell you when you were a boy?';

var bool = endsWith( str, 'boy?', str.length );
// returns true

bool = endsWith( str, 'Boy?', str.length );
// returns false

To search from a specific character position, provide a len argument. If len is positive, the function restricts the search to a substring with length len, beginning with the leftmost character. If len is negative, len indicates to ignore the last len characters (equivalent to str.length + len).

var str = 'To be, or not to be, that is the question.';

var bool = endsWith( str, 'to be', 19 );
// returns true

bool = endsWith( str, 'to be', -23 );
// returns true

If provided an empty search string, the function always returns true.

var str = 'beep boop';

var bool = endsWith( str, '' );
// returns true

Notes

  • In general, exercise caution when operating on substrings containing Unicode characters, as the visual character length may not equal the number of code points. For example,

    var len = '🏠'.length;
    // returns 2
    
  • This function differs from String.prototype.endsWith in the following ways:

    • The function assumes string values for the first and second arguments and assumes that the len argument is an integer value.
    • The function does not clamp positive len values to the end of the input string.
    • Except when provided an empty search string, the function always returns false if len resolves to a starting search position which exceeds the bounds of the input string.

Examples

var endsWith = require( '@stdlib/string/base/ends-with' );

var str = 'Fair is foul, and foul is fair, hover through fog and filthy air';

var bool = endsWith( str, 'air', str.length );
// returns true

bool = endsWith( str, 'fair', str.length );
// returns false

bool = endsWith( str, 'fair', 30 );
// returns true

bool = endsWith( str, 'fair', -34 );
// returns true
Did you find this page helpful?