var price_pech = 0;
var price_idosn = 0;
//...
function MyFunction(sum) {
price_pech = sum;
$("#total_price").text(price_pech + price_idosn);
}
clearText()
выполнять timer.innerHTML = 0;
setInterval(func, 1000)
идеальной секундной стрелкой.const D = new Date();
и по таймеру брать текущее время и считать разницу с тем моментом: let seconds = Math.round((new Date() - D) / 1000)
$('#search').on('input', function(){ // При вводе текста..
$('.table-item.-active').removeClass('-active'); // убираем класс .-active у .block.-active
const ids = $(this).val().split(/[ ,]/).filter(el => el.length);
for (let id of ids) {
$(`.table-item[id="${id}"]`) // берём блок у которого есть совпадение по id
.addClass('-active'); // выдаём ему класс .-active
}
});
// эта функция - Генератор. Он создаёт итерируемые штуки
function* makeRangeIterator(start = 0, end = 100, step = 1) {
let iterationCount = 0;
for (let i = start; i < end; i += step) {
iterationCount++;
yield i;
}
return iterationCount;
}
// вот сделаем итератор от 1 и до 10 (исключая конец)
var r1_10 = makeRangeIterator(1, 10);
// в цикле получим из итератора значения
for (i of r1_10) {
console.log(i); // выведет от 1 до 9
}
/[ ,.]/
— будет соответствовать пробелу или запятой или точке."test one."
получится ["test", "one", ""]
Поэтому стоит пройтись по массиву, оставив в нём только строки ненулевой длины: arr.filter(w => w.length > 0)
requestAnimationFrame()
– зависит от устройства, активности/неактивности вкладки и др.includes()
и indexOf()
каждый раз, считайте, пробегают, в среднем, по полстроки.a..z
function scramble(str1, str2) {
if (str1.length < str2.length) return false;
const a = Array(26).fill(0);
for (let c of str1) a[c.charCodeAt(0) - 97]++;
for (let c of str2) a[c.charCodeAt(0) - 97]--;
for (let n of a) if (n < 0) return false;
return true;
}
* 97 это ASCII-код маленькой латинской "a"угол_к_В + (угол_к_А - угол_к_В) / 2
// every 100ms examine the socket and send more data
// only if all the existing data was sent out
setInterval(() => {
if (socket.bufferedAmount == 0) {
socket.send(moreData());
}
}, 100);
Cmd + Opt + P + R
arr.filter(nam(20,50))
// это то же самое:
arr.filter(function (x) { return x >= 20 && x <= 50; })
// или так:
function f(x) {
return x >= 20 && x <= 50;
}
arr.filter(f)
.filter(f)
применит функцию f
по очереди к каждому элементу массива. Т.е. вызовет функцию f(10), f(20), ... f(70)
f(элемент)
вернул true
. INFO memory
— покажет сколько памяти занимает весь сервер со всеми данными.MEMORY USAGE key
чтобы посмотреть, сколько памяти занимает конкретный ключ.