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
}
}
},