success(data) {
document.querySelector('#result').innerHTML = Array
.from(data.querySelectorAll('info'), n => `<div>${n.firstChild.nodeValue}</div>`)
.join('');
},
document.getElementById('result').innerHTML = (xml
.match(/<info><!\[CDATA\[[^\]]*/g) || [])
.map(n => '<div>' + n.slice(15) + '</div>')
.join('');
Let shiftCount be the result of masking out all but the least significant 5 bits of rnum, that is, compute rnum & 0x1F.
переписать это, чтобы было более правильно
!!+myNumber
"0"
теряете (а ещё строковые представления двоичных/восьмеричных/шестнадцатеричных чисел - "0b101"
/"0o777"
/"0xFF"
, например, признаются корректными значениями)?/^\d+$/.test(str)
- только цифры (т.е., целые неотрицательные числа)/^-?\d+$/.test(str)
- ниже нуля теперь окей/^-?\d+(\.\d+)?$/.test(str)
- и дроби тоже const obj = (str
.match(/\w+=[\d;]+/g) || [])
.reduce((acc, n) => {
const [ key, values ] = n.split('=');
acc[key] = values.split(';').map(Number);
return acc;
}, {});
const obj = Array
.from(new URL(str).searchParams)
.reduce((acc, [ k, v ]) => (
acc[k] = v.split(';').map(n => +n),
acc
), {});
const elements = document.querySelectorAll('p');
const attrNamePrefix = 'bind:';
const result = Array.prototype.filter.call(
elements,
n => Array.prototype.some.call(
n.attributes,
m => m.name.startsWith(attrNamePrefix)
)
);
const result = [];
for (const n of elements) {
for (const m of n.attributes) {
if (m.name.indexOf(attrNamePrefix) === 0) {
result.push(n);
break;
}
}
}
<div class="counter">
<span class="counter__visible"></span> /
<span class="counter__total"></span>
</div>
$('.loadmore').on('click', function(e) {
e.preventDefault();
const $items = $('.item');
$items.filter(':hidden').slice(0, 4).fadeIn();
const visible = $items.filter(':visible').length;
$('.counter__visible').text(visible);
$('.counter__total').text($items.length);
if ($items.length === visible) {
$(this).fadeOut('slow');
}
}).click();
const defineQuestionDataByLanguage = (question, lang) => {
const answerLang = ({
2: 'swe',
// ещё какие-то языки, если надо
})[lang] || 'en';
return {
labelLang: question[answerLang],
answerLang,
};
};
const defineQuestionDataByLanguage = (question, lang) => {
const answerLang = languages[lang] || languages.default;
return {
labelLang: question[answerLang],
answerLang,
};
};
const containerSelector = 'table';
const itemSelector = 'td';
const events = [ 'click', 'contextmenu' ];
const onText = text => console.log(text);
$(containerSelector).on(events.join(' '), itemSelector, function() {
onText($(this).text());
return false;
});
const container = document.querySelector(containerSelector);
const handler = e => (e.preventDefault(), onText(e.target.closest(itemSelector).textContent));
events.forEach(n => container.addEventListener(n, handler));
ракета пролетела всю длину экрана и вышла за пределы экрана(тут мой скрипт при помощи splice удаляет ракету из массива ракет)
for (let i = this.rockets.length; i--; ) {
const rocket = this.rockets[i];
if (rocket.type === 'right' && this._isCollideFlyLeft(rocket)) {
this.flyLeft.energy -= 10;
this.rockets.splice(i, 1);
} else if (rocket.type === 'left' && this._isCollideFlyRight(rocket)) {
this.flyRight.energy -= 10;
this.rockets.splice(i, 1);
} else if (
rocket.xCoord + rocket.width >= this.fieldEl.offsetWidth ||
rocket.xCoord <= 0
) {
this.rockets.splice(i, 1);
} else {
rocket.move();
}
}
const extend = (target, source) => Object
.entries(source instanceof Object ? source : {})
.reduce((acc, [ k, v ]) => {
acc[k] = v instanceof Object ? extend(acc[k], v) : k in acc ? acc[k] : v;
return acc;
}, target instanceof Object ? target : {});
extend(patient, donor);
const onInput = () => $button.prop('disabled', !$inputs.get().every(n => $(n).val()));
const $button = $('селектор кнопки');
const $inputs = $('селектор инпутов').on('input', onInput);
onInput();
const button = document.querySelector('селектор кнопки');
const inputs = [...document.querySelectorAll('селектор инпутов')];
const onInput = () => button.disabled = inputs.some(n => !n.value);
inputs.forEach(n => n.addEventListener('input', onInput));
onInput();
$('#name').on('input', function() {
$('.cell').text(i => this.value[i] || '');
});
document.querySelector('#name').addEventListener('input', e => {
document.querySelectorAll('.cell').forEach((n, i) => {
n.textContent = e.target.value[i] || '';
});
});
arr.map(n => ({
id: n.id.value,
title: n.title.value,
slug: n.slug.value
}))
arr.map(n => Object.entries(n).reduce((acc, [ k, v ]) => (acc[k] = v.value, acc), {}))
arr.map(n => Object.keys(n).reduce((acc, k) => ({ ...acc, [k]: n[k].value }), {}))
arr.map(n => Object.assign({}, ...Object.values(n).map(m => ({ [m.title.toLowerCase()]: m.value }))))
const links = [
'https://youtu.be/fi5LDM9ppuc',
'https://www.youtube.com/embed/fi5LDM9ppuc',
];
const newLinks = links.map(n => `https://www.youtube.com/watch?v=${n.split('/').pop()}`);