const has3 = arr => {
for (let i = 2; i < arr.length; i++) {
if (arr[i] === arr[i - 1] && arr[i] === arr[i - 2]) {
return true;
}
}
return false;
}
has3([1,2,3,3,4,5,5,5,6]) // true
has3([1,2,3,3,4,5,5,6,6]) // false
var c = [
'Афганистан',
'Албания',
'Антарктика',
'Алжир',
'Американское Самоа',
'Андора',
'Ангола',
'Антигуа и Барбуда',
'Азербайджан',
'Аргентина',
'Австралия',
'Австрия',
'Багамские Острова',
'Бахрейн',
'Бангладеш',
'Армения',
'Барбадос',
'Бельгия',
'Бермудские Острова',
'Бутан',
'Боливия',
'Босния и Герцеговина',
'Ботсвана',
'Остров Буве',
'Бразилия',
'Белиз',
'Британская территория в Индийском океане',
'Соломоновы Острова',
'Британские Виргинские острова',
'Бруней',
'Болгария',
'Мьянма',
'Бурунди',
'Белоруссия',
'Камбоджа',
'Камерун',
'Канада',
'Кабо-Верде',
'Каймановы острова',
'Центральноафриканская Республика',
'Шри-Ланка',
'Чад',
'Чили',
'Китайская Народная Республика',
'Остров Рождества',
'Кокосовые острова',
'Колумбия',
'Коморы',
'Майотта',
'Республика Конго',
'Демократическая Республика Конго',
'Острова Кука',
'Коста-Рика',
'Хорватия',
'Куба',
'Кипр',
'Чехия',
'Бенин',
'Дания',
'Доминика',
'Доминиканская Республика',
'Эквадор',
'Сальвадор',
'Экваториальная Гвинея',
'Эфиопия',
'Эритрея',
'Эстония',
'Фарерские острова',
'Фолклендские острова',
'Южная Георгия и Южные Сандвичевы острова',
'Фиджи',
'Финляндия',
'Аландские острова',
'Франция',
'Французская Гвиана',
'Французская Полинезия',
'Французские Южные и Антарктические территории',
'Джибути',
'Габон',
'Грузия',
'Гамбия',
'Палестина',
'Германия',
'Гана',
'Гибралтар',
'Кирибати',
'Греция',
'Гренландия',
'Гренада',
'Гваделупа',
'Гуам',
'Гватемала',
'Гвинея',
'Гайана',
'Республика Гаити',
'Остров Херд и острова Макдональд',
'Ватикан',
'Гондурас',
'Гонконг',
'Венгрия',
'Исландия',
'Индия',
'Индонезия',
'Иран',
'Ирак',
'Ирландия',
'Израиль',
'Италия',
'Кот-д’Ивуар',
'Ямайка',
'Япония',
'Казахстан',
'Иордания',
'Кения',
'КНДР',
'Республика Корея',
'Кувейт',
'Киргизия',
'Лаос',
'Ливан',
'Лесото',
'Латвия',
'Либерия',
'Ливия',
'Лихтенштейн',
'Литва',
'Люксембург',
'Макао',
'Мадагаскар',
'Малави',
'Малайзия',
'Мальдивы',
'Мали',
'Мальта',
'Мартиника',
'Мавритания',
'Маврикий',
'Мексика',
'Монако',
'Монголия',
'Молдавия',
'Черногория',
'Монтсеррат',
'Марокко',
'Мозамбик',
'Оман',
'Намибия',
'Науру',
'Непал',
'Нидерланды',
'Кюрасао',
'Аруба',
'Синт-Мартен',
'Бонэйр, Синт-Эстатиус и Саба',
'Новая Каледония',
'Вануату',
'Новая Зеландия',
'Никарагуа',
'Нигер',
'Нигерия',
'Ниуэ',
'Норфолк',
'Норвегия',
'Северные Марианские острова',
'Внешние малые острова США',
'Микронезия',
'Маршалловы Острова',
'Палау',
'Пакистан',
'Панама',
'Папуа — Новая Гвинея',
'Парагвай',
'Перу',
'Филиппины',
'Острова Питкэрн',
'Польша',
'Португалия',
'Гвинея-Бисау',
'Восточный Тимор',
'Пуэрто-Рико',
'Катар',
'Реюньон',
'Румыния',
'Россия',
'Руанда',
'Сен-Бартелеми',
'Острова Святой Елены, Вознесения и Тристан-да-Кунья',
'Сент-Китс и Невис',
'Ангилья',
'Сент-Люсия',
'Сен-Мартен (Франция)',
'Сен-Пьер и Микелон',
'Сент-Винсент и Гренадины',
'Сан-Марино',
'Сан-Томе и Принсипи',
'Саудовская Аравия',
'Сенегал',
'Сербия',
'Сейшельские Острова',
'Сьерра-Леоне',
'Сингапур',
'Словакия',
'Словения',
'Сомали',
'Южно-Африканская Республика',
'Зимбабве',
'Испания',
'Южный Судан',
'Судан',
'Западная Сахара',
'Суринам',
'Шпицберген и Ян-Майен',
'Свазиленд',
'Швеция',
'Швейцария',
'Сирия',
'Таджикистан',
'Таиланд',
'Того',
'Токелау',
'Тонга',
'Тринидад и Тобаго',
'Объединённые Арабские Эмираты',
'Тунис',
'Турция',
'Туркмения',
'Теркс и Кайкос',
'Тувалу',
'Уганда',
'Украина',
'Республика Македония',
'Египет',
'Великобритания',
'Гернси',
'Джерси',
'Остров Мэн',
'Танзания',
'Соединённые Штаты Америки',
'Виргинские Острова',
'Буркина-Фасо',
'Уругвай',
'Узбекистан',
'Венесуэла',
'Уоллис и Футуна',
'Самоа',
'Йемен',
'Замбия',
];
<textarea></textarea>
<button class="save">Сохранить</button>
<button class="clear">Очистить</button>
let textarea = document.querySelector('textarea')
let save = document.querySelector('.save')
let clear = document.querySelector('.clear')
save.addEventListener('click', function(){
localStorage.setItem('value', textarea.value)
})
clear.addEventListener('click', function(){
localStorage.removeItem('value')
})
localStorage.getItem('value') !== null
? textarea.value = localStorage.getItem('value')
: textarea.value = ''
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
game:
while (true) {
const Game = {
countAttempts: 0,
wordsList: ['javascript', 'python', 'computer', 'aboba'], //слова, которые надо отгадывать
badLetters: [], //буквы, которые не были найдены в слове
rndWordChoice: function () {
//рандомайзер для выбора слова
return this.wordsList[Math.floor(Math.random() * this.wordsList.length)];
},
};
let word = Game.rndWordChoice();
let underlineWord = '_'.repeat(word.length);
round:
while (true) {
alert(`Угадайте слово - ${underlineWord}\nБукв в слове - ${underlineWord.length}\nНеудачных попыток - ${Game.badLetters.length}`)
const userInput = prompt('Введите букву:');
if (userInput == null) break game;
if (userInput.length !== 1) {
alert('Нужна ровно 1 буква');
continue;
}
const letter = userInput.toLocaleLowerCase();
if (word.includes(letter)) {
let index = word.indexOf(letter);
while (index > -1) {
underlineWord = underlineWord.substring(0, index) + letter + underlineWord.substring(index + 1);
index = word.indexOf(letter, index + 1);
}
} else {
Game.badLetters.push(letter);
}
}
}
const declination = (number, titles) => titles[
(number % 100 > 4 && number % 100 < 20)
? 2
: [2, 0, 1, 1, 1, 2][(number % 10 < 5) ? number % 10 : 5]
];
const games = {
rps: ['камень', 'ножницы', 'бумага'],
rpsls: ['камень', 'ножницы', 'бумага', 'ящерица', 'спок']
};
const beats = {
камень: ['ножницы', 'бумага'],
ножницы: ['бумага', 'ящерица'],
бумага: ['камень', 'спок'],
ящерица: ['бумага', 'спок'],
спок: ['ножницы', 'камень'],
};
const winMsgs = ['Ничья', 'Вы победили', 'Компьютер победил'];
const gameNames = Object.keys(games).map((k) => `${k} (${games[k].join('-')})`);
const selectGameMsg = `Выберите режим игры:\n${gameNames.join('\n')}\nдругое значение для завершения`;
while (true) {
let gameMode = prompt(selectGameMsg);
let choices = games[gameMode] ?? null;
if (choices === null) {
break;
}
let userChoiceMsg = `Выберите свой ход:\n${choices.join('\n')}\nочки - показать счётчик побед\nвыход - завершить игру`;
let userWins = 0;
let compWins = 0;
while (true) {
let userChoice = prompt(userChoiceMsg);
if (userChoice === 'выход') {
break;
}
if (userChoice === 'очки') {
alert(`Ваших побед: ${userWins}\nПобед компьютера: ${compWins}`);
}
if (!choices.includes(userChoice)) {
continue;
}
let compChoice = choices[Math.floor(Math.random() * choices.length)];
let winner = 0;
if (beats[userChoice].includes(compChoice)) {
winner = 1;
userWins += 1;
} else if (beats[compChoice].includes(userChoice)) {
winner = 2;
compWins += 1;
}
alert(`Ваш выбор: ${userChoice}\nВыбор компьютера: ${compChoice}\n${winMsgs[winner]}`);
}
let finalMsg = 'Ничья';
let diff = userWins - compWins;
if (diff > 0) {
finalMsg = `Вы выиграли с перевесом в ${diff} ${declination(diff, ['очко', 'очка', 'очков'])}`;
} else if (diff < 0) {
finalMsg = `Компьютер выиграл с перевесом в ${-diff} ${declination(-diff, ['очко', 'очка', 'очков'])}`;
}
alert(`Ваших побед: ${userWins}\nПобед компьютера: ${compWins}\n${finalMsg}`);
}
div {
display: flex;
align-items: center;
}
[0..1)
и [1..2)
[0..2)
:for (let i = 0; i < 100000; i++) {
const rnd = Math.random() * 2;
if (rnd < 1) {
// в первую корзинку
} else {
// во вторую
}
}