const $humans = await data.response.items;
if($humans.some(entry => entry.hasOwnProperty('last_seen'))) {
// Всё еще массив, так что надо еще найти тот элемент, в котором есть этот ключ
} else {
// Всё еще массив
}
const $humans = await data.response.items;
const $human = $humans.find(entry => entry.hasOwnProperty('last_seen'));
if($human !== undefined) {
// Первый элемент из массива с ключём last_seen
} else {
// Какой-то код
}
console.log('Widget with id and'.indexOf('id'));
Widget with id and
const sentence = 'Widget with id and';
const words = sentence.match(/\w+/g); // ['Widget', 'with', 'id', 'and']
console.log(words.indexOf('id'));
const values = [...document.querySelectorAll('[data-name]')].map(entry => entry.dataset.name);
const date = new Date();
const time = Math.floor(date.getTime() / 1000);
const $1day = 24 * 60 * 60;
const filtered = array.filter(entry => {
if (entry.hasOwnProperty('last_seen')) {
return entry.last_seen.time > (time - $1day);
}
return false;
});
<button type="button" class="close" aria-label="Close">...</button>
const alerts = document.querySelectorAll('.alert');
for (const alert of alerts) {
const closeButton = alert.querySelector('.close');
if (closeButton !== null) {
closeButton.addEventListener('click', event => {
event.preventDefault();
alert.style.setProperty('display', 'none');
});
}
}
if (!('addEventListener' in NodeList)) {
NodeList.prototype.addEventListener = function (...args) {
for (const node of this.values()) {
node.addEventListener(...args);
}
}
}
if (!('removeEventListener' in NodeList)) {
NodeList.prototype.removeEventListener = function (...args) {
for (const node of this.values()) {
node.removeEventListener(...args);
}
}
}
const elements = document.querySelectorAll('some_selector');
elements.addEventListener('event_type', ...);