【发布时间】:2019-05-12 18:13:17
【问题描述】:
嗯,我有以下类型的输入和所需的输出。我基本上想要做的是删除连续重复的字符。(保持第一个字符删除所有以下连续重复)。
input = dup(["abracadabra","allottee","assessee"])
output = ["abracadabra","alote","asese"].
input = dup(["kelless","keenness"])
output = ["keles","kenes"]
这是我到目前为止所做的。
let arr1 = ["abracadabra", "allottee", "assessee"];
let arr2 = ["kelless", "keenness"];
function dup(input) {
return input.map(e => {
let tempOp = ''
for (let i = 0; i < e.length; i++) {
if (i === 0) tempOp += e[i];
else if (e[i - 1] !== e[i]) tempOp += e[i]
}
return tempOp;
})
}
console.log(dup(arr1))
console.log(dup(arr2))
我可以用 for 循环来做到这一点。但是有没有其他更好的方法来做到这一点。 如果可以的话,我可以用正则表达式来做吗?任何方向都会有很大帮助。
【问题讨论】:
标签: javascript arrays regex replace filter