Я создаю генератор случайных паролей в Ванниле JS, я сталкиваюсь с неизвестной проблемой в следующем коде:
function generatePassword(lower, upper, number, symbol, length) {
let generatedPassword = "";
const typesCount = lower + upper + number + symbol;
const typesArr = [{ lower }, { upper }, { number }, { symbol }].filter(
(item) => Object.values(item)[0]
);
// Doesn't have a selected type
if (typesCount === 0) {
return "";
}
// create a loop
for (let i = 0; i < length; i += typesCount) {
typesArr.forEach((type) => {
const funcName = Object.keys(type)[0];
generatedPassword += randomFunc[funcName]();
});
}
const finalPassword = generatedPassword.slice(0, length);
return finalPassword;
}
В этом блоке кода конкретно Object.values (item) [0] не работает, если я заключаю заявление в фигурные скобки {}:
const typesArr = [{ lower }, { upper }, { number }, { symbol }].filter(
(item) => Object.values(item)[0]
);
Я не понимаю, почему это происходит, я пытался искать документы, но безрезультатно Спасибо!