Функция duplicateEncode
Ответ:
function duplicateEncode(str) {
return str
.toLowerCase()
.split("")
.map((char, i, arr) => {
return arr.indexOf(char) === arr.lastIndexOf(char) ? "(" : ")";
})
.join("");
}
Объяснение:
Первым делом приводим строку к нижнему регистру, затем разбиваем на массив. Далее с помощью метода map проходим по каждому элементу и смотрим: если индекс элемента, начиная с начала, равен индексу этого элемента, начиная с конца, значит такой элемент только один. В таком случае переписываем его на (. Иначе - на (. Сворачиваем массив обратно в строку и возвращаем.
Код для проверки:
function duplicateEncode(str) {
return str
.toLowerCase()
.split("")
.map((char, i, arr) => {
return arr.indexOf(char) === arr.lastIndexOf(char) ? "(" : ")";
})
.join("");
}
console.log(duplicateEncode("win")); // (((
console.log(duplicateEncode("receipt")); // ()()(((
console.log(duplicateEncode("Success")); // )())())
console.log(duplicateEncode("(( #")); // ))((