const nodes = [ ...document.querySelector('td').childNodes ];
const index = nodes.findIndex(({ nodeName }) => nodeName === 'BR');
if (index > -1) nodes[index + 1].remove();
Находим все узлы DOM внутри td
. Их будет 3:const mostFrequentNum = Array
.from(arr.reduce((acc, n) => acc.set(n, -~acc.get(n)), new Map))
.reduce((max, n) => max[1] > n[1] ? max : n, [ , 0 ])
.at(0);
const mostFrequentNum = Object
.entries(arr.reduce((acc, n) => (acc[n] = (acc[n] ?? 0) + 1, acc), {}))
.reduce((acc, n) => (acc[n[1]] = +n[0], acc), [])
.pop();
Во-первых, это неудобно, зачем 2 раза устанавливать один и тот же пакет.
если зависимость #2 внутри #1 обновится, мне также придется ее обновлять во избежание конфликтов версий
Вопрос: зачем?
function camelize(str) {
return str
.split('-')
.map(function(word, index) {
if (index == 0) {
return word;
} else {
return word[0].toUpperCase() + word.slice(1);
}
})
.join('')
}
let str = prompt('Введите текст через дефис');
alert(camelize(str));
function camelize(str) {
return str
.split('-')
.map((word, index) => index == 0 ? word : word[0].toUpperCase() + word.slice(1))
.join('')
}
let str = prompt('Введите текст через дефис');
alert(camelize(str));
const upper = (word, index) => index == 0 ? word : word[0].toUpperCase() + word.slice(1);
function camelize(str) {
return str
.split('-')
.map(upper)
.join('')
}
let str = prompt('Введите текст через дефис');
alert(camelize(str));
const upper = (word, index) => index == 0 ? word : word[0].toUpperCase() + word.slice(1);
const camelize = str => str.split('-').map(upper).join('');
let str = prompt('Введите текст через дефис');
alert(camelize(str));
var c = [
'Афганистан',
'Албания',
'Антарктика',
'Алжир',
'Американское Самоа',
'Андора',
'Ангола',
'Антигуа и Барбуда',
'Азербайджан',
'Аргентина',
'Австралия',
'Австрия',
'Багамские Острова',
'Бахрейн',
'Бангладеш',
'Армения',
'Барбадос',
'Бельгия',
'Бермудские Острова',
'Бутан',
'Боливия',
'Босния и Герцеговина',
'Ботсвана',
'Остров Буве',
'Бразилия',
'Белиз',
'Британская территория в Индийском океане',
'Соломоновы Острова',
'Британские Виргинские острова',
'Бруней',
'Болгария',
'Мьянма',
'Бурунди',
'Белоруссия',
'Камбоджа',
'Камерун',
'Канада',
'Кабо-Верде',
'Каймановы острова',
'Центральноафриканская Республика',
'Шри-Ланка',
'Чад',
'Чили',
'Китайская Народная Республика',
'Остров Рождества',
'Кокосовые острова',
'Колумбия',
'Коморы',
'Майотта',
'Республика Конго',
'Демократическая Республика Конго',
'Острова Кука',
'Коста-Рика',
'Хорватия',
'Куба',
'Кипр',
'Чехия',
'Бенин',
'Дания',
'Доминика',
'Доминиканская Республика',
'Эквадор',
'Сальвадор',
'Экваториальная Гвинея',
'Эфиопия',
'Эритрея',
'Эстония',
'Фарерские острова',
'Фолклендские острова',
'Южная Георгия и Южные Сандвичевы острова',
'Фиджи',
'Финляндия',
'Аландские острова',
'Франция',
'Французская Гвиана',
'Французская Полинезия',
'Французские Южные и Антарктические территории',
'Джибути',
'Габон',
'Грузия',
'Гамбия',
'Палестина',
'Германия',
'Гана',
'Гибралтар',
'Кирибати',
'Греция',
'Гренландия',
'Гренада',
'Гваделупа',
'Гуам',
'Гватемала',
'Гвинея',
'Гайана',
'Республика Гаити',
'Остров Херд и острова Макдональд',
'Ватикан',
'Гондурас',
'Гонконг',
'Венгрия',
'Исландия',
'Индия',
'Индонезия',
'Иран',
'Ирак',
'Ирландия',
'Израиль',
'Италия',
'Кот-д’Ивуар',
'Ямайка',
'Япония',
'Казахстан',
'Иордания',
'Кения',
'КНДР',
'Республика Корея',
'Кувейт',
'Киргизия',
'Лаос',
'Ливан',
'Лесото',
'Латвия',
'Либерия',
'Ливия',
'Лихтенштейн',
'Литва',
'Люксембург',
'Макао',
'Мадагаскар',
'Малави',
'Малайзия',
'Мальдивы',
'Мали',
'Мальта',
'Мартиника',
'Мавритания',
'Маврикий',
'Мексика',
'Монако',
'Монголия',
'Молдавия',
'Черногория',
'Монтсеррат',
'Марокко',
'Мозамбик',
'Оман',
'Намибия',
'Науру',
'Непал',
'Нидерланды',
'Кюрасао',
'Аруба',
'Синт-Мартен',
'Бонэйр, Синт-Эстатиус и Саба',
'Новая Каледония',
'Вануату',
'Новая Зеландия',
'Никарагуа',
'Нигер',
'Нигерия',
'Ниуэ',
'Норфолк',
'Норвегия',
'Северные Марианские острова',
'Внешние малые острова США',
'Микронезия',
'Маршалловы Острова',
'Палау',
'Пакистан',
'Панама',
'Папуа — Новая Гвинея',
'Парагвай',
'Перу',
'Филиппины',
'Острова Питкэрн',
'Польша',
'Португалия',
'Гвинея-Бисау',
'Восточный Тимор',
'Пуэрто-Рико',
'Катар',
'Реюньон',
'Румыния',
'Россия',
'Руанда',
'Сен-Бартелеми',
'Острова Святой Елены, Вознесения и Тристан-да-Кунья',
'Сент-Китс и Невис',
'Ангилья',
'Сент-Люсия',
'Сен-Мартен (Франция)',
'Сен-Пьер и Микелон',
'Сент-Винсент и Гренадины',
'Сан-Марино',
'Сан-Томе и Принсипи',
'Саудовская Аравия',
'Сенегал',
'Сербия',
'Сейшельские Острова',
'Сьерра-Леоне',
'Сингапур',
'Словакия',
'Словения',
'Сомали',
'Южно-Африканская Республика',
'Зимбабве',
'Испания',
'Южный Судан',
'Судан',
'Западная Сахара',
'Суринам',
'Шпицберген и Ян-Майен',
'Свазиленд',
'Швеция',
'Швейцария',
'Сирия',
'Таджикистан',
'Таиланд',
'Того',
'Токелау',
'Тонга',
'Тринидад и Тобаго',
'Объединённые Арабские Эмираты',
'Тунис',
'Турция',
'Туркмения',
'Теркс и Кайкос',
'Тувалу',
'Уганда',
'Украина',
'Республика Македония',
'Египет',
'Великобритания',
'Гернси',
'Джерси',
'Остров Мэн',
'Танзания',
'Соединённые Штаты Америки',
'Виргинские Острова',
'Буркина-Фасо',
'Уругвай',
'Узбекистан',
'Венесуэла',
'Уоллис и Футуна',
'Самоа',
'Йемен',
'Замбия',
];
(?:^"|;")(""|[\w\W]*?)(?=";|"$)|(?:^(?!")|;(?!"))([^;]*?)(?=$|;)|(\r\n|\n)
// создаем стрелочную функцию, принимающую два параметра
const countChars = (str, char) => {
// создаем переменные и присваиваим им значение 0
let i = 0;
let count = 0;
// запускаем цикл с предусловием
while (i < str.length) { // пока i меньше чем длина строки str
// исполняем тело цикла
// берем символ из строки str расположенный по индексу i и переводим в нижний регистр
// берем символ из аргумента функции и переводим в нижний регистр
if (str[i].toLowerCase() === char.toLowerCase()) { // сравниваем оба значения
// если совпало увеличиваем счетчик на 1
count = count + 1;
}
// перед новой итерацией цикла увеличиваем индекс на 1
i = i + 1;
}
// возвращаем из функции накопленный результат подсчета или начальное значение если совпадений не было
return count;
};
let result = countChars('abba#abba#abba#', '#') // пример использования
console.log(result); // 3
function func(mixedData) {
const id = mixedData?.target?.id ?? mixedData;
console.log(id);
}
func(123) // 123
func({target: {id: 456}}) // 456
?.
— optional chaining??
— Nullish coalescing operatorfunction func(data) {
if (data instanceof Event) {
var id = data.target.id;
} else {
var id = data;
}
}
detail
в объекте событияfunction func(event) {
const id = event.detail ? event.detail.id : event.target.id;
}
domElement.dispatchEvent(new CustomEvent('event-name', { detail: { id: 'id-42' } }));
npm install
, а для этого нужно установить сначала Node.jsnpm run start
) и соответственно запустить их в каждой из папок (клиент, сервер). (Хотя возможно настроено на запуск единой командой)