как посчитать повторяющиеся значения в строке / массиве по рекурсии, хорошо, я знаю, как найти дубликат и уникальность по циклу с объектом, но в этом случае я попытался рекурсировать его, чтобы изучить мою логику, вотчто я пробовал
function duplicate(word) {
let [obj, arr, count ] = [{},[],0]
for (i of word) {
obj[i] = (obj[i] || 0) + 1
if (obj[i] == 2) {
arr.push(i);
}
}
// console.log(arr);
let words = [...word];
words = [...new Set(words)];
// // return word
if (words.length === 0) {
return count
} else if (arr.includes(words[0])) {
count++
}
return count + duplicate(words.slice(1))
}
console.log(duplicate('xmikemk')) // 2
я пытался создать объект кулак и пустоту для newArr, если значения найдены 2 раза, затем я попытался снова установить слово ниже, чтобы просто показать уникальное значение, затемя рекурсирую это, когда я консоль регистрирую это, метод slice на том ниже к рекурсии и не работает, поэтому результат, который я получил здесь, равен 0, что не так с моим кодом?я не прав с этим условием ??
это переменное слово имеет = ('xmikemk') which has 2 duplicate words, m and k , so the output i want is
2`