首页 > 解决方案 > 在 Javascript 中查找值的乘积

问题描述

编写一个名为 productOfValues 的函数,它接收一个键/值对对象并将这些值相乘。您可以假设所有键都是字符串,所有值都是整数。

例如:

let testObject = {
  'a': 5, 
  'b': 12,
  'c': 3
}

productOfValues(testObject)

所以,这就是我写的:

let testObject = {
  'a': 5,
  'b': 12,
  'c': 3,
  'd': 1
}
let testObject_v = {
  'z': 2,
  'y': 2,
  'x': 2,
  'w': 2
}

function productOfValues(someObject) {
  return someObject.a * someObject.b * someObject.c;
}

function productOfValues(testObject) {
  return testObject_v.z * testObject_v.y * testObject_v.x * testObject_v.w;
}

console.log(productOfValues(testObject))
console.log(productOfValues(testObject_v))

我有一个错误:

您的 productOfValues 函数应返回给定对象中值的乘积:180

标签: javascript

解决方案


您可以使用Object.values将对象转换为其值数组,然后用于reduce获取该值数组的乘积

let testObject = {'a': 5,'b': 12,'c': 3, 'd':1};
let testObject_v = { 'z':2,'y':2,'x':2,'w':2 }

function productOfValues(someObject) {
  return Object.values(someObject).reduce((a,b)=> a*b ,1);
}

console.log(productOfValues(testObject));
console.log(productOfValues(testObject_v));


推荐阅读