Найти сумму ключей объекта и поделить на сумму значений

Рейтинг: -1Ответов: 2Опубликовано: 18.05.2023

Программа работает - но - правильно ли я сделала? И если кто знает - как можно сократить? Кажется много текста.. ?

Дан следующий объект: 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) 

Ответы

▲ 0Принят

Вот так можно еще сделать.

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)

▲ 0

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)
}