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 2This function differs from
String.prototype.endsWithin the following ways:- The function assumes string values for the first and second arguments and assumes that the
lenargument is an integer value. - The function does not clamp positive
lenvalues to the end of the input string. - Except when provided an empty
searchstring, the function always returnsfalseiflenresolves to a starting search position which exceeds the bounds of the input string.
- The function assumes string values for the first and second arguments and assumes that the
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