// Допустим у вас интернет магазин секс игрушек
var arr = [
{name: 'вазелин', date: Date.now() - 5000000},
{name: 'секс-игрушка: Катя', date: Date.now() - 70000000},
{name: 'секс-игрушка: Елена Беркова', date: Date.now() - 9999999},
{name: 'секс-игрушка: Боря Моисеев', date: Date.now() - 9999999},
{name: 'секс-игрушка: Максим Галкин', date: Date.now() - 300000000},
{name: 'дилдо обыкновенный', date: Date.now() - 300000000},
{name: 'дилдо черный XXL', date: Date.now() - 66666666},
{name: 'вазелин со вкусом банана', date: Date.now() - 50000000},
{name: 'анальные шарики', date: Date.now() - 5000000}
]
arr = arr.reduce((x,y)=>{
let d = new Date(y.date).toLocaleDateString();
x[d]? x[d].push(y) : x[d] = [y]
return x
}, {})
<audio controls src="./music/rozy.wav" onplay="other_pause([0])">
Your browser does not support the
<code>audio</code> element.
</audio>
<audio controls src="./music/bab.wav" onplay="other_pause([1])">
Your browser does not support the
<code>audio</code> element.
</audio>
<script>
var a=document.getElementsByTagName("audio");
function other_pause(b){
for(i=0;i<a.length;i++){
if(!(i==b)){a[i].pause()};
}
}
</script>
var str = "Я очень люблю кушать мельмешки, если тоже - заходи ко мне pornhub.com"
var reg = new RegExp("([a-zA-Z0-9]+://)?([a-zA-Z0-9_]+:[a-zA-Z0-9_]+@)?([a-zA-Z0-9.-]+\\.[A-Za-z]{2,4})(:[0-9]+)?([^ ])+",'g');
var result = str.match(reg)
let selectedRow = null;
const getS = selector => document.querySelector(selector);
const login = getS('#log');
const pass = getS('#pass');
const mail = getS('#mail');
const form = getS('.form');
const TBODY = getS('.tbody');
const inp = document.querySelectorAll('button');
const btnEdit = getS('.btn-edit');
var id = ''
let loginRegExp = /^\w{4,25}$/;
let passRegExp = /^[a-zA-Z0-9_@#&]{8,15}$/;
let mailRexExp = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
function setErrorFor(input) {
if (input.className = 'input') {
input.className = 'input error';
}
}
function setSuccesFor(input) {
if (input.className = 'input') {
input.className = 'input active';
}
}
let arr = [];
function addUser() {
// TBODY.innerHTML = '';
let obj = {
id: Math.floor(Math.random() * 50) + 1,
login: login.value,
password: pass.value,
email: mail.value,
};
arr.push(obj);
render();
}
function render() {
TBODY.innerHTML = '';
arr.forEach((value, index) => {
let newUser = `
<tr data-id='${index}'>
<td>${index+1}</td>
<td>${value.login}</td>
<td>${value.password}</td>
<td>${value.email}</td>
<td> <button onClick = 'onEdit(this)' id ='edit'>edit</button> </td>
<td> <button data-name = 'delete' data-id='${index}' id = 'delete'>delete</button></td>
</tr>`;
TBODY.insertAdjacentHTML('beforeend', newUser);
});
console.dir(TBODY);
}
function onEdit(td) {
let btnEdit = getS('.btn');
console.dir(btnEdit);
inp.forEach(element => {
if (element.className == 'btn') {
element.classList.add('hide')
}
if (element.className == 'btn-edit hide') {
element.classList.remove('hide');
}
});
selectedRow = td.parentElement.parentElement;
id = selectedRow.cells[0].innerHTML
login.value = selectedRow.cells[1].innerHTML;
pass.value = selectedRow.cells[2].innerHTML;
mail.value = selectedRow.cells[3].innerHTML;
td.className = 'input active';
console.dir(selectedRow);
}
function saveEditUser() {
let objNew = {
login: login.value,
password: pass.value,
email: mail.value,
};
arr.splice(id-1, 1, objNew);
render();
getS('.btn-edit').classList.add('hide')
getS('.btn').classList.remove('hide')
}
btnEdit.addEventListener('click', (event) => {
saveEditUser();
form.reset();
});
TBODY.addEventListener('click', function name(event) {
event.stopPropagation();
console.log(event.target.dataset);
if (event.target.dataset.name == "delete") {
arr.splice(event.target.dataset.id, 1);
render();
}
});
login.oninput = function firstNameCheck() {
let testlogin = loginRegExp.test(this.value);
if (testlogin) {
setSuccesFor(login);
} else {
setErrorFor(login);
}
};
pass.oninput = function firstNameCheck() {
let testPass = passRegExp.test(this.value);
if (testPass) {
setSuccesFor(pass);
} else {
setErrorFor(pass);
}
};
mail.oninput = function firstNameCheck() {
let maillogin = mailRexExp.test(this.value);
if (maillogin) {
setSuccesFor(mail);
} else {
setErrorFor(mail);
}
};
form.addEventListener('submit', function name(event) {
event.preventDefault();
if(getS('.btn').classList=='btn') addUser(); // ИЗМЕНЕНИЕ НОМЕР 6
else{saveEditUser()} // ИЗМЕНЕНИНЕ НОМЕР 7
form.reset();
login.className = 'input';
pass.className = 'input';
mail.className = 'input';
});
function expector(str){
let badWords = ['педик', "гомно", "гей", 'засранец', 'щегол'],
reg = new RegExp(badWords.join`|`,'gi'),
s = str.split` `,
badWord = s.filter(word=>reg.test(word.replace(/\w/g,'')))
return (badWord.length? 'Вы использовали плохое слово: ' + badWord : 'Молодец')
}
expector('засранец и гей') // "Вы использовали плохое слово: засранец"
var users = [
{
id: 1,
xp: 500,
name: 'Clown-ojiekcahdp',
},
{
id: 2,
xp: 9000,
name: 'JesicaAlba',
},
{
id: 7,
xp: 500,
name: 'BobMarley',
},
{
id: 9,
xp: 500,
name: 'ConorMacgregor',
},
{
id: 13,
xp: 500,
name: 'Habib',
},
{
id: 37,
xp: 50000,
name: 'Putin',
},
{
id: 12,
xp: 500,
name: 'Bob',
},
{
id: 14,
xp: 500,
name: 'Klopp',
}
] // все участники
var user = {
id: 37,
xp: 50000,
name: 'Putin',
}
users.sort((a,b)=>b.xp-a.xp||a.name.localeCompare(b.name));
console.log(user.name + ' ваша позиция в рейтинге: ' + (users.findIndex(e=>e.id==user.id)+1))
const cheerio = require('cheerio');
const request = require('request');
var currencys = [];
var usd = 0
var eur = 0
var rub = 0
var byn = 0
function addCurrValue(){
return new Promise((resolve, reject) => {
request({
method: 'GET',
url: 'https://select.by/kursy-valyut/natsbank-rb'
}, function(err, res, body){
if (err) return console.error(err);
let $ = cheerio.load(body);
$('span').each(function (i, e) {
currencys[i] = $(this).text();
});
resolve()
})
})
}
(async function() {
await addCurrValue()
// работаешь только после того как получишь данные с первой функции
usd = currencys[4]
eur = currencys[5]
rub = currencys[6]
console.log(usd,eur,rub)
})()
var a = [
{"id":1,"name": "Anton","lastname": "Romanov","rank": "admin","online":"Не распознано"},
{"id":2,"name":"Andrey","lastname": "Ivanov","rank":"admin","online":"Не распознано"},
{"id":3,"name": "Vasya","lastname": "Antonov","rank":"admin","online":"Не распознано"},
{"id":4,"name":"Ivan","lastname": "Andreev","rank": "admin","online":"Не распознано"},
{"id":5,"name":"Ivan","lastname": "Vasiliv", "rank":"player","online":"Не распознано"}
];
var b = [
{'first_name': 'Vasya','id': 3,'can_access_closed': true,'is_closed': false,'online': 0},
{'first_name': 'Andrey','id': 2,'can_access_closed': true,'is_closed': false,'online': 0},
{'first_name': 'Ivan','id': 5,'can_access_closed': true,'is_closed': false,'online': 1}
];
b.forEach(user=>{
a.find(users=>users.id == user.id).online = user.online
})