嘿,我有一个小问题。所以基本上我将字符串传递给函数作为参数,然后将其转换为数组,我正在尝试将生成的数组元素相互比较,如果它们相等,它应该返回")"else "(",但是比较元素时出现问题并且值是错误的。也许有人可以帮助我。
function duplicateEncode(word) {
let splitString = word.split("");
let newArr = splitString.map((val, index, arr) => {
for (let i = 0; i < splitString.length; i++) {
if (val === arr[i]) {
return ')';
} else {
return '(';
}
}
});
return newArr.join('');
}
使用 Javascript 的 Map 对象来存储当前字母是否存在。
function duplicateEncode(word){
let m = new Map();
let splitString= word.split("");
let coded = "";
splitString.map( s => {
if(!m[s]){
m[s] = true
coded += "("
} else {
coded += ")"
}
})
return coded
}
console.log(duplicateEncode("stack"))