当前位置:首页 > JavaScript

js实现endwith

2026-04-05 13:33:50JavaScript

实现 JavaScript 的 endsWith 方法

JavaScript 的 endsWith 方法用于检查字符串是否以指定的子字符串结尾。以下是几种实现方式:

使用原生 endsWith 方法

现代 JavaScript 已经原生支持 endsWith 方法:

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

手动实现 endsWith 功能

如果需要兼容旧版浏览器或自定义功能,可以手动实现:

function endsWith(str, suffix) {
    return str.indexOf(suffix, str.length - suffix.length) !== -1;
}

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

使用 substring 实现

另一种方式是使用 substring 来检查字符串的结尾部分:

function endsWith(str, suffix) {
    return str.substring(str.length - suffix.length) === suffix;
}

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

考虑大小写的实现

如果需要忽略大小写,可以转换为统一大小写后再比较:

function endsWith(str, suffix, ignoreCase = false) {
    if (ignoreCase) {
        str = str.toLowerCase();
        suffix = suffix.toLowerCase();
    }
    return str.substring(str.length - suffix.length) === suffix;
}

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

性能优化版本

对于长字符串,可以使用 lastIndexOf 来优化性能:

js实现endwith

function endsWith(str, suffix) {
    const lastIndex = str.lastIndexOf(suffix);
    return lastIndex !== -1 && lastIndex === str.length - suffix.length;
}

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

以上方法可以根据具体需求选择使用,原生 endsWith 方法是最简单高效的选择。

标签: jsendwith
分享给朋友:

相关文章

js实现文件下载

js实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url, f…

js 实现继承

js 实现继承

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

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…