Object.values(): значения собственных свойств
Object.values создаёт массив значений собственных перечисляемых строковых свойств объекта.
Назначение
Object.values создаёт массив значений собственных перечисляемых строковых свойств объекта.
Как это работает
Имена ключей в результате не сохраняются. Если для дальнейшей операции важна связь имени и значения, лучше выбрать Object.entries. Вложенные объекты копируются по ссылке.
Пример
const counts={html:4,css:6};
const values=Object.values(counts);
console.assert(JSON.stringify(values)==="[4,6]");
console.assert(values.reduce((sum,n)=>sum+n,0)===10);
Что должно получиться
Два числовых значения превращаются в массив и суммируются. Это подходит для счётчиков с проверенной схемой, но не для произвольного объекта со смешанными типами.
Граница применения и частая ошибка
Не рассчитывайте на values как на независимую глубокую копию. Изменение вложенного объекта из результата может изменить тот же объект, доступный через исходную запись.
Самостоятельная проверка
Посчитайте сумму числовых значений, затем добавьте строку и определите нужную проверку типа. Отдельно убедитесь, что ключи недоступны в одном только массиве values.
JavaScript в песочнице этого сайта не выполняется. Перенесите пример в отдельный учебный файл. Сначала проверьте исходный результат, затем измените входные данные; ошибка проверки означает, что результат отличается от ожидаемого.