const template = {
d: "какие то слова к которым не нужно привязываться, главное что бы был ключ d",
m: "Числовое целое поле"
};
function validateAgainstTemplate(obj, template) {
let keys = Object.keys(obj);
for (let key of keys) {
if (!template.hasOwnProperty(key)) return false; // если в шаблоне нет такого ключа
if (key === "m" && obj[key] !== 1) return false; // если значение ключа m не равно 1
}
return true; // если все проверки пройдены
}
let testObj1 = {
d: "слово",
m: 1
};
let testObj2 = {
d: "слово",
m: 23,
s: "слово 2"
};
console.log(validateAgainstTemplate(testObj1, template)); // true
console.log(validateAgainstTemplate(testObj2, template)); // false
let counter = 0;
const doRequest = () => {
// Увеличиваем счетчик
counter++;
// Выполняем запрос
fetch('https://your-request-url.ru')
.then(response => response.json())
.then(data => {
console.log(data);
// Если счетчик меньше 5, устанавливаем таймер для следующего запроса
if (counter < 5) {
setTimeout(doRequest, 5000); // Устанавливаем задержку в 5 секунд
}
})
.catch(error => console.error(error));
};
// Начинаем выполнение
doRequest();
let strDate = "May 2021";
let dateToCheck = new Date(strDate);
let currentDate = new Date();
// Обнуляем время, чтобы сравнение было только по дате (день, месяц, год)
dateToCheck.setHours(0,0,0,0);
currentDate.setHours(0,0,0,0);
if(dateToCheck.getTime() < currentDate.getTime()){
console.log("Дата уже прошла");
} else {
console.log("Дата еще не наступила");
}
{
"policies": {
"Extensions": {
"Install": ["https://addons.mozilla.org/firefox/downloads/file/3579254/ublock_origin-1.37.2-an+fx.xpi"],
"Locked": ["uBlock0@raymondhill.net"]
}
}
}
// Получить случайное число от 85 до 90 включительно
function getRandomNumber() {
return Math.floor(Math.random() * (90 - 85 + 1)) + 85;
}
// Отобразить случайное число на странице
function displayRandomNumber() {
const number = getRandomNumber();
document.getElementById("number").innerHTML = number;
}
// Перезагрузить страницу через 60 секунд
function reloadPage() {
setTimeout(function() {
location.reload();
}, 60 * 1000);
}
// Запустить код при загрузке страницы
window.onload = function() {
displayRandomNumber();
reloadPage();
};
<div id="number"></div>
let form1 = document.querySelector('form[name="myform"]');
let form2 = document.querySelector('form[name="myform2"]');
if (form1.onsubmit) {
console.log("Существует обработчик события onsubmit, прикрепленный к form1.");
} else {
console.log("Не существует обработчик события onsubmit, прикрепленный к form1.");
}
if (form2.onsubmit) {
console.log("Существует обработчик события onsubmit, прикрепленный к form2.");
} else {
console.log("Не существует обработчик события onsubmit, прикрепленный к form2.");
}
const takeIFrameScreenshot = (iframeId) => {
const iframe = document.getElementById(iframeId);
const iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
const iframeBody = iframeDoc.body;
const canvas = document.createElement('canvas');
canvas.width = iframeBody.scrollWidth;
canvas.height = iframeBody.scrollHeight;
const ctx = canvas.getContext('2d');
ctx.drawImage(iframe, 0, 0, canvas.width, canvas.height);
const screenshot = canvas.toDataURL();
return screenshot;
}
<div id="element">Swipe me with two fingers!</div>
<script src="https://cdn.jsdelivr.net/npm/hammerjs@2.0.18/hammer.min.js"></script>
<script>
const element = document.getElementById("element");
const hammer = new Hammer(element);
hammer.get('swipe').set({ direction: Hammer.DIRECTION_ALL, threshold: 5, pointers: 2 });
hammer.on('swipe', function(ev) {
console.log('Two-finger swipe event detected!', ev);
});
</script>
const newCollection = dataLink.map(item1 => {
const item2 = dataInfo.find(i => i.lnk === item1.lnk);
return { ...item1, ...item2 };
});
if ("geolocation" in navigator) {
navigator.geolocation.getCurrentPosition(function(position) {
let lat = position.coords.latitude;
let lng = position.coords.longitude;
let API_KEY = "YOUR_API_KEY";
let url =
"https://maps.googleapis.com/maps/api/geocode/json?latlng=" +
lat +
"," +
lng +
"&key=" +
API_KEY;
fetch(url)
.then(function(response) {
return response.json();
})
.then(function(data) {
let address = data.results[0].formatted_address;
console.log("Address: " + address);
});
});
} else {
console.log("Geolocation is not supported by this browser.");
}
let str = '«Брат Волк» Мишель Пейвер';
let regex = /«(.*?)»/g;
let match = regex.exec(str);
console.log(match[1]); // Output: Брат Волк
import { Button } from '@material-ui/core';
resolve: {
alias: {
'@material-ui/core': path.resolve(__dirname, 'node_modules', '@material-ui/core'),
},
},
<script src="https://cdn.jsdelivr.net/npm/just-validate@1.0.1/dist/js/just-validate.min.js"></script>
<form data-jsv="form-1">
<!-- интуты тут -->
</form>
<form data-jsv="form-2">
<!-- интуты тут -->
</form>
<script>
new JustValidate( 'form-1', {});
new JustValidate( 'form-2', {});
</script>
<input type="text" data-jsv-required="true" data-jsv-pattern="^[a-zA-Z]+$">