当前位置:首页 > JavaScript

js endswith 实现

2026-01-31 17:22:05JavaScript

使用 String.prototype.endsWith()

JavaScript 的 String.prototype.endsWith() 方法可以直接判断字符串是否以指定的子字符串结尾。该方法返回布尔值。

js endswith 实现

const str = 'Hello, world!';
console.log(str.endsWith('world!')); // true
console.log(str.endsWith('Hello')); // false

可以指定搜索的结束位置:

js endswith 实现

console.log(str.endsWith('Hello', 5)); // true

手动实现 endsWith

如果需要在旧版 JavaScript 或特定场景中手动实现 endsWith,可以通过字符串截取和比较实现。

function customEndsWith(str, searchStr, position) {
  if (position === undefined || position > str.length) {
    position = str.length;
  }
  const start = position - searchStr.length;
  return start >= 0 && str.substring(start, position) === searchStr;
}

const str = 'Hello, world!';
console.log(customEndsWith(str, 'world!')); // true
console.log(customEndsWith(str, 'Hello', 5)); // true

正则表达式实现

通过正则表达式也可以实现类似功能,但需要注意转义特殊字符。

function regexEndsWith(str, searchStr) {
  const regex = new RegExp(searchStr + '$');
  return regex.test(str);
}

const str = 'Hello, world!';
console.log(regexEndsWith(str, 'world!')); // true
console.log(regexEndsWith(str, 'Hello')); // false

性能考虑

原生 endsWith 方法通常性能最优,手动实现或正则表达式适用于特殊需求或兼容性场景。

标签: jsendswith
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js实现复制

js实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previ…

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Paren…

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选…

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounce…