само создающихся циклов
'a'
и остался массив на 1 короче: ['b', 'c', 'd']
\b
в регулярках означает границу слова – здесь подойдёт:const arr = ["catboy", "cat", "cat-man", "man, ?cat! doo"];
const filtStr = (str) => {
return arr.filter((item) => item.match(new RegExp(`\\b${str}\\b`, "i")));
};
console.log(filtStr("cat")); // [ "cat", "cat-man", "man, ?cat! doo" ]
const arr = prompt("Введите числа через пробел") // строка
.trim() // отрезать начальные-конечные пробелы
.split(/\s+/) // разбить по пробелам, одному или неск. подряд
.map((s) => Number(s)); // перевести каждый элемент в число
alert("Вы ввели массив: " + arr.join(", ")); // склеить через запятую-с-пробелом
<video>
с нужным тестовым MP4, и стримить const stream = document.querySelector("video").captureStream();
screen
, уже не боясь оставить/отключиться, вместо scp
, может, удобнее воспользоваться rsync
— он зипует, что может ускорить передачу:rsync -avz /var/www/projectOldName user@newserver.example.com://var/www/projectNewName
Ctrl + A
, D
— чтобы покинуть работающий вирт. терминал и спокойно отключиться от SSH. Позже, когда снова зайдете, командой screen -r
снова подключитесь к оставленной сессии. async function getArticles(){
const response = await fetch('https://gorest.co.in/public/v1/posts');
const response = await response.json()
console.log(response); // вывод этого стоит приложить к вопросу
response.data.forEach((article) => console.log(article.title));
}
getArticles(); // выведет в консоль кучу title'ов
Date
можно устанавливать новое число (день месяца) вне границ разумного: меньше 1 и больше числа дней в месяце. Магия: объект правильно добавит/удалит месяцы и годы.const isWithinRange = (ts, days) => {
const qna = new Date(ts);
const d = new Date();
d.setDate( d.getDate() - days ); // 120 дней в прошлое
return d < qna;
}
isWithinRange(1619827200 * 1000, 120) // false 1-е мая в 120 дней назад не попадает
isWithinRange(1619827200 * 1000, 180) // true зато в 180 вполне