Надо написать функцию, которая будет заменять все повторяющиеся символы в строке на ")", а неповторяющиеся на "(". Подскажите пожалуйста решение.
Сам я написал вот это, но оно не работает
function duplicateEncode(word){
let result = "";
for(i = 0; i <= word.length; i++ ) {
let isIt = word.indexOf(word[i], 0);
if(isIt == -1) {
result += ')';
}else{
result += '(';
}
}
return result;
}
function duplicateEncode(word){
return [...word].map((c, i, arr) => arr.indexOf(c) == arr.lastIndexOf(c) ? ')' : '(').join('');
}
console.log(duplicateEncode('abcabdef'))
Можно так
function duplicateEncode(word){
let result = "";
for(i = 0; i < word.length; i++ ) {
if(word.indexOf(word[i]) != word.lastIndexOf(word[i]) ) {
result += ')';
}else{
result += '(';
}
}
return result;
}
const isRaw = (q) => q instanceof Object && 'raw' in q;
const raw2str = (str) => isRaw(str) ? String.raw(str) : str;
// --
function replace(_str, props = new replace.Props) {
const r = (str, i, arr) => (delete arr[i], props.ignoreList && props.ignoreList.has(str) ? str : props.setList.has(str) ? props.A : !!~arr.indexOf(str) ? (props.setList.add(str), props.A) : props.B || str);
return Array
.from(raw2str(_str))
.map(r)
.join(props.sep);
}
(function (replace) {
class Props {
constructor(props) {
this.A = '-';
this.ignoreList = new Set(['\n', ' ']);
this.sep = '';
this.setList = new Set();
Object.assign(this, props);
}
}
replace.Props = Props;
})(replace || (replace = {}));
// --
hyperHTML.bind(document.body) `
<pre class="q">
<div class="q b">
Задание просто.
Написать функцию, которая будет заменять символы в строке
- повторяющиеся на ")",
- неповторяющиеся на "("
</div>
<div class="q r">${replace `
Задание просто.
Написать функцию, которая будет заменять символы в строке
- повторяющиеся на ")",
- неповторяющиеся на "("
`}
</div>
</pre>
`;
q {
background-color: aliceblue;
}
div.q {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: aliceblue;
}
.q.b { visibility: hidden; }
.q.r { visibility: visible; }
pre.q:hover .b { visibility: visible; }
pre.q:hover .r { visibility: hidden; }
<script src="https://unpkg.com/hyperhtml@latest/min.js"></script>
а там: немного типов и коментов
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Мне нужно организовать нажатие кнопки на веб-странице в определённое время, которое я задамКод, который я вставляю в консоль хрома не работает,...
Ребят, не оценивайте верстку и адаптивностьГлавное - js код, а именно фильтрация https://github