const keys = Object.keys(yourObj);
const randomNumber = Math.floor(Math.random() * keys.length);
const randomKey = keys[randomNumber];
const randomValue = yourObj[randomKey];
console.log(randomKey, randomValue)
function sum(arr) {
let result = 0;
for (let i = (arr.length - 1); i !== 0; i--) {
if (arr[i] === 0) return result;
result += Math.abs(arr[i]);
}
return result;
}
console.log(sum([2.1, 3.1, 4.1, 6.1, 7.1, 9.1, 11.1, 0.0, 2.2, 1.4])); // 3.6
console.log(sum([2.1, 3.1, 4.1, 6.1, 7.1, 9.1, 11.1, 0.0])); // 0
for (let key in objectEmployee) {
что будет в key?objectEmployee.key['age']
есть ли у objectEmployee
свойство key
? (нет)const filters = {
age: v => v >= 25,
education: v => v === 'higher',
experience: v => v >= 1,
};
const employee = {};
const defaultDescriptor = { writable: true, enumerable: true, configurable: true };
Object.defineProperties(employee, {
name: { ...defaultDescriptor, value: 'Dmitriy', writable: false },
age: { ...defaultDescriptor, value: 21 },
education: { ...defaultDescriptor, value: 'higher' },
experience: { ...defaultDescriptor, value: 0 },
});
const hireNewEmployee = (employee, filters) => {
const errors = [];
Object.entries(filters).forEach(([name, func]) => {
if (!func(employee[name])) {
errors.push(name);
}
});
return errors.length
? `Not hired: sorry we cannot hire you. Here is why: ${errors.join(', ')}`
: 'You are Hired! Congrats!';
};
hireNewEmployee(employee, filters);
// "Not hired: sorry we cannot hire you. Here is why: age, experience"
const converter = { "m":{ "cm":{k:0.01 }, "in":{k:0.254 }, "ft":{k:0.3048 }, },
backBlock.addEventListener
добавляется внутри обработчика клика. Т.е. каждый раз, как нажимаем на openBlock
, вешается ещё и ещё один обработчик на backBlock
. Достаточно один раз, заранее, так же как сейчас openBlock.addEventListener
openBlock
и backBlock
не меняются, их можно вместо let
объявить const
document.querySelector('.hidden-block')
наверное, не имеет смысла, достаточно один раз, заранее const hiddenBlock = document.querySelector('.hidden-block');
и далее обращаться к этой константе hiddenBlock
.site.ru/$category/$id
)как реализуется генерация html файлов?Никак. Никаких файлов не генерируется. Генерируется строка, содержащая какой-то шаблонный набор тегов (собственно так и называется - шаблон), и основное содержимое страницы (например статья или список статей), обычно хранящееся в базе данных или в другом хранилище. Эта строка отдается клиенту с соответствующими заголовками, объясняющими клиенту что за данные передаются (например "это будет хтмл" или "кодировка данных утф-8", естественно в более формальном виде, гуглите http headers).
размером с тумбочку