endsWith.js (1098B)
1 var baseClamp = require('./_baseClamp'), 2 baseToString = require('./_baseToString'), 3 toInteger = require('./toInteger'), 4 toString = require('./toString'); 5 6 /** 7 * Checks if `string` ends with the given target string. 8 * 9 * @static 10 * @memberOf _ 11 * @since 3.0.0 12 * @category String 13 * @param {string} [string=''] The string to inspect. 14 * @param {string} [target] The string to search for. 15 * @param {number} [position=string.length] The position to search up to. 16 * @returns {boolean} Returns `true` if `string` ends with `target`, 17 * else `false`. 18 * @example 19 * 20 * _.endsWith('abc', 'c'); 21 * // => true 22 * 23 * _.endsWith('abc', 'b'); 24 * // => false 25 * 26 * _.endsWith('abc', 'b', 2); 27 * // => true 28 */ 29 function endsWith(string, target, position) { 30 string = toString(string); 31 target = baseToString(target); 32 33 var length = string.length; 34 position = position === undefined 35 ? length 36 : baseClamp(toInteger(position), 0, length); 37 38 var end = position; 39 position -= target.length; 40 return position >= 0 && string.slice(position, end) == target; 41 } 42 43 module.exports = endsWith;