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 вполне
const notificationSound = new Audio("/assets/audio/notification.wav")
let messaging = firebase.messaging();
messaging.onMessage(function (payload) {
console.log("Message received. ", payload);
notificationSound.play();
});
array.reduce(
(acc, current, i) => {
acc[i % 2] += current; // к чётному/нечетному прибавить
return acc; // вернуть массив
},
[0, 0] // начальное значение
)
let a, b;
console.log(
( a = 2 + 2, b = ["QnA", "Habr", "com"].join("."), "Отметить решением" )
);
// "Отметить решением"
const that = this; // Window
let a = {
one: that, // всё тот же Window
two: 'test'
}
console.log(a.one) // Window
const one = () => this; // объявили в глобальном контексте
let a = {
one,
two: "two",
}
a.one() // Window
Где функцию объявили, «в то отделение и обращайтесь» ){
const div = document.createElement("div"); // создать обёрточный div
div.classList.add("QnA-habr-com"); // добавить ему какой-то класс
const els = document.querySelectorAll("#rec365427333, #rec365427599"); // выбрать элементы
const parent = els[0].parentNode; // определить родителя первого из них
parent.appendChild(div); // вложить обёрточный див в родителя
els.forEach((el) => div.appendChild(el)) // перенести в обёртку те два
}
Слабое место вашего вопроса в том, что эти ID, вероятно, будут меняться в тильде, и решение перестанет работать. Лучше отбирать элементы как-то иначе. Например, сейчас те два блока, вроде бы, единственные 2 внутри div#allrecords
и можно их отбирать как const els = document.querySelectorAll("div#allrecords > div");