params = format({
params_list = Object.values(params) console.log(params_list) for (var v in params_list) {s=s+v+'='+params[v]+'&'}
function format(params, method) {
return `https://api.vk.com/method/${method}?${new URLSearchParams(params)}`;
}
console.log(format({ access_token, version }, method));
const sum = arr.reduceRight((acc, n) => n && acc + n, 0);
let sum = 0;
for (let i = 0; arr[i]; sum += arr[i++]) ;
let sum = 0;
for (const n of arr) {
if (!n) {
break;
}
sum += n;
}
const sum = (function sum(arr, i = 0) {
return arr[i] ? arr[i] + sum(arr, i + 1) : 0;
})(arr);
Array
одно число, будет создан (будет попытка создания - отрицательные и нецелые числа приведут к ошибке) массив указанной длины. Метод push
может принимать несколько значений, а возвращает - новую длину массива, после добавления элементов. Т.е., в массив из трёх элементов добавили ещё четыре, и получили длину. arr.sort((a, b) => {
return Number.isNaN(+a) || Number.isNaN(+b)
? a.localeCompare(b)
: a - b;
});
// или
arr.sort((a, b) => (a - b) || a.localeCompare(b));
const sorted = (arr, keys) => arr
.map(n => [ n ].concat(keys(n)))
.sort((a, b) => {
let diff = 0;
a.find((n, i) => diff = i && ((n < b[i]) ? -1 : +(n > b[i])));
return diff;
})
.map(n => n[0]);
const sortedArr = sorted(arr, n => [ +n, n.toLowerCase() ]);
const arrToSinglyLinkedList = (arr, nextKey = 'next') =>
arr.reduceRight((acc, n) => ({ ...n, [nextKey]: acc }), null);
function arrToSinglyLinkedList(arr, nextKey = 'next') {
let list = null;
for (let i = arr.length; i--;) {
const node = Object.assign({}, arr[i]);
node[nextKey] = list;
list = node;
}
return list;
}
const list = arrToSinglyLinkedList(arr, 'child');
this
- это и будет ссылка на нужный элемент. Конечно, только в том случае, если какое-то другое значение не было заранее привязано к обработчику (как такое может быть - bind и стрелочные функции).target
с помощью closest. function fb3cont() { b3Cont.classList.remove("__active"); } document.onclick = function() { if (b3Cont.classList.contains("__active")) { fb3cont()}; }
id="666"
, а data-val="666",
например.document.querySelectorAll('селектор ваших блоков').forEach(n => {
const val = +n.dataset.val;
n.classList.toggle('disable', min > val || val > max);
});
const BASE_VALUE = 100;
document.querySelector('.container').addEventListener('change', e => {
document.querySelector('.total').innerText = Array
.from(e.currentTarget.querySelectorAll('input:checked'))
.reduce((acc, n) => acc + +n.value, BASE_VALUE);
});
tableEl
.querySelectorAll('tbody td')
.forEach(td => Array
.from(td.attributes)
.forEach(attr => td.removeAttribute(attr.name))
);
for (const tbody of tableEl.tBodies) {
for (const tr of tbody.rows) {
for (const { attributes: a } of tr.cells) {
for (let i = a.length; i--;) {
a[i].ownerElement.removeAttribute(a[i].name);
}
}
}
}