Найти сумму ключей объекта и поделить на сумму значений
Программа работает - но - правильно ли я сделала? И если кто знает - как можно сократить? Кажется много текста.. ?
Дан следующий объект: let obj = {1: 6, 2: 7, 3: 8, 4: 9, 5: 10}; Найдите сумму ключей этого объекта и поделите ее на сумму значений.
let obj = {1: 6, 2: 7, 3: 8, 4: 9, 5: 10};
let sum = 0,
sum_elem = 0;
let res = 0;
for (let key in obj) {
key = +key;
sum += key;
sum_elem +=obj[key];
res = sum / sum_elem;
}
console.log(res)
Ответы (2 шт):
Автор решения: Oliver Patterson
→ Ссылка
let obj = {1: 6, 2: 7, 3: 8, 4: 9, 5: 10};
const keysSum = sum(Object.keys(obj));
const valuesSum = sum(Object.values(obj));
console.info(keysSum / valuesSum);
function sum(numbers)
{
return numbers.reduce((sum, value) => sum + Number(value), 0)
}
Автор решения: ksa
→ Ссылка
Вот так можно еще сделать.
const obj = {1: 6, 2: 7, 3: 8, 4: 9, 5: 10}
let res = Object.entries(obj).reduce((o, [k, v]) => {
o.k += +k
o.v += v
return o
}, {k: 0, v: 0})
res = res.k / res.v
console.log(res)