JSFiddle - React, Tailwind, and code Playground
by Vladymyr Shevchuk
JavaScript
export function uniq(arr) {
return [...new Set(arr)]
}
function uniq(array) {
return Array.from((new Set(array)));
}
const invertObject = obj => {
Object.entries(obj)
.forEach(([key, value]) => {
obj[value] = key;
delete obj[key];
});
};
function trimSymbols(str,num) {
const countLetters = {};
let res = '';
for(let i = 0; i < str.length; i++) {
if(!countLetters.hasOwnProperty(str[i])) {
countLetters[str[i]] = 1;
} else if(countLetters.hasOwnProperty(str[i]) && countLetters[str[i]] < num) {
countLetters[str[i]]++
}
}
for(let key in countLetters) {
if(countLetters[key] === num) {
res += key.repeat(countLetters[key]);
}
}
return res;
}
export function trimSymbols(str, num) {
if (num === 0 || !str) {
return "";
}
if (!num) {
return str;
}
let result = str[0];
let letterCount = 1;
for (let letter of str) {
if (letter != result[result.length - 1]) {
letterCount = 1;
result += letter;
continue;
}
if (letterCount < num) {
result += letter;
letterCount++;
}
}
return result;
}
export function trimSymbols(str, cnt) {
const map = new Map();
let res = "";
if (cnt > 0) {
for (let symbol of str) {
let current = map.get(symbol);
if (current) {
if (current < cnt) {
map.set(symbol, current + 1);
res += symbol;
}
} else {
map.set(symbol, 1);
res += symbol;
}
}
}
return res;
}
export function trimSymbols(str, limit) {
if (limit === undefined)
return str;
let symbolCounters = {};
let newStr = '';
for (let char of str) {
symbolCounters[char] = symbolCounters[char] === undefined ? 1 : symbolCounters[char] + 1;
if (symbolCounters[char] <= limit)
newStr += char;
}
return newStr;
}
function trimSymbols(str,...