当前位置:首页 > JavaScript

js 实现split

2026-03-14 11:14:01JavaScript

实现 split 方法的基本思路

JavaScript 的 split 方法用于将字符串分割成子字符串数组。以下是实现类似功能的几种方式:

使用原生 split 方法

原生 split 方法可以直接调用,支持分隔符和限制分割次数:

const str = "a,b,c,d";
const result = str.split(","); // ["a", "b", "c", "d"]

手动实现 split

可以通过循环遍历字符串,手动实现 split 功能:

function customSplit(str, delimiter, limit) {
    const parts = [];
    let currentPart = "";
    for (let i = 0; i < str.length; i++) {
        if (str[i] === delimiter) {
            parts.push(currentPart);
            currentPart = "";
            if (limit && parts.length >= limit) break;
        } else {
            currentPart += str[i];
        }
    }
    if (currentPart) parts.push(currentPart);
    return parts;
}

使用正则表达式

正则表达式可以实现更复杂的分割逻辑:

function regexSplit(str, pattern) {
    return str.split(new RegExp(pattern));
}

处理空字符串和边界情况

实现时需考虑空字符串或无效输入的情况:

function safeSplit(str, delimiter) {
    if (typeof str !== "string") return [];
    if (str === "") return [""];
    return str.split(delimiter);
}

性能优化建议

对于长字符串,避免频繁拼接字符串,改用数组操作:

function optimizedSplit(str, delimiter) {
    const parts = [];
    let start = 0;
    for (let i = 0; i < str.length; i++) {
        if (str[i] === delimiter) {
            parts.push(str.slice(start, i));
            start = i + 1;
        }
    }
    parts.push(str.slice(start));
    return parts;
}

支持多字符分隔符

扩展实现以支持多字符分隔符:

js 实现split

function multiCharSplit(str, delimiter) {
    const parts = [];
    let index = 0;
    while (index < str.length) {
        const found = str.indexOf(delimiter, index);
        if (found === -1) {
            parts.push(str.slice(index));
            break;
        }
        parts.push(str.slice(index, found));
        index = found + delimiter.length;
    }
    return parts;
}

标签: jssplit
分享给朋友:

相关文章

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Promise…

js实现复制

js实现复制

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

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

链表实现js

链表实现js

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

js实现路由

js实现路由

js实现路由的方法 在JavaScript中实现路由功能可以通过多种方式完成,以下是几种常见的方法: 使用原生JavaScript实现路由 通过监听window.onhashchange事件来实现基…