递归以减少字符串或数组的方法?示例案例:
如果有,变量abcdfgh4zi
输出必须f4z
因为d
之后它必须是e
的,然后在h
之后它必须是I
它喜欢排序...
我正在尝试,但使用charCodeAt
失败
function reduce(data) {
let result = ""
if (data.length <= 1) {
return result
} else if (data.charCodeAt(data[0])+1 !== data.charCodeAt(data[1])) {
result += data[0]
}
return result + reduce(data.slice(1))
}
console.log(reduce('abcdfgh4zi')); // f4z
结果与该数据相同,如果我<
使用它,它将是空字符串
如果数据"lmnop"
则结果为 true,它将返回 empty string
因为它们正在排序
并在这里找到我在SO上找到的下一个字母表,如果图表代码不起作用
var abc = (parseInt(data[0], 36) + 1) % 36;
var nextAlphabet = ((!abc * 10 + abc).toString(36));
charCodeAt
需要一个索引,你就给它一个字符。所以你在做data.charCodeAt("a") + 1 !== data.charCodeAt("b")
您还存储了第一个字符,因此您将存储"d"而不是"f"
function reduce(data) {
let result = ""
if (data.length <= 1) {
return result
} else if (data.charCodeAt(0)+1 !== data.charCodeAt(1)) {
result += data[1]
}
return result + reduce(data.slice(1))
}
console.log(reduce('abcdfgh4zi')); // f4z