0
点赞
收藏
分享

微信扫一扫

手写字符串方法split

Sophia的玲珑阁 2022-04-15 阅读 137

今天面试遇到了个笔试题,需求是实现字符串方法 split,笔试时候不能调试,没有考虑到符号参有可能是多个字符串形式被面试官嘲讽写的烂pass掉了.回来调试一番,代码如下 (十分简洁,分段逐个理解即可)

const str = "11&&22&&33";
const str1='111'
const str2='11&&&&'

function strSplit(str, stp) {
    const arr = [];

    if (str.indexOf(stp) > -1) {
        arr.push(str.slice(0, str.indexOf(stp)));
        str = str.slice(str.indexOf(stp) + stp.length);
        // console.log(arr,str);
        if (str.indexOf(stp) > -1) {
            arr.push(...strSplit(str, stp));
        } else {
            arr.push(str);
        }
    } else {
        arr.push(str);
    }
    
    return arr.filter(ii=>ii)
}
console.log("结果", strSplit(str, "&&"));

有其他实现方案的欢迎讨论....后续我有其他方案也会贴代码到评论区

举报

相关推荐

0 条评论