生成器函数应用

export default utils {
	    static *iteratorStr(str, splitChar = '-') {
        //return将done设置为true
        if(!str) {
            return ''
        }
        let s = ''
        for (const it of str) {
            if (it === splitChar) {
                yield Number(s)
                s = ''
            } else {
                s += it
            }
        }
        if (s) {
            yield Number(s)
        }
    }
}

		//使用示例
        compareStr(str1, str2) {
            const iter1 = utils.iteratorStr(str1)
            const iter2 = utils.iteratorStr(str2)
            while (1) {
                const {value: v1, done: d1} = iter1.next();
                const {value: v2, done: d2} = iter2.next();

                if (d1 && d2) {
                    return 0
                }

                if (d1) {
                    return -1
                }
                if (d2) {
                    return 1
                }

                if (v1 < v2) {
                    return -1
                }
                if (v1 > v2) {
                    return 1
                }
            }
        },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值