如何使用 JavaScript 中的键值创建两个对象中的第三个对象?


假设,我们有这样的两个对象 −

const obj1 = {
   positive: ['happy', 'excited', 'joyful'],
   negative: ['depressed', 'sad', 'unhappy']
};
const obj2 = {
   happy: 6,
   excited: 1,
   unhappy: 3
};

我们需要编写一个 JavaScript 函数,该函数接收这两个对象。然后,函数应该使用这两个对象来计算正分和负分,然后返回一个如下所示的对象 −

const output = {positive: 7, negative: 3};

示例

用于此目的的代码如下 −

const obj1 = {
   positive: ['happy', 'excited', 'joyful'],
   negative: ['depressed', 'sad', 'unhappy']
};
const obj2 = {
   happy: 6,
   excited: 1,
   unhappy: 3
};
const findPositiveNegative = (obj1 = {}, obj2 = {}) => {
   const result ={}
   for (let key of Object.keys(obj1)) {
      result[key] = obj1[key].reduce((acc, value) => {
         return acc + (obj2[value] || 0);
      }, 0)
   };
   return result;
};
console.log(findPositiveNegative(obj1, obj2));

输出

控制台中的输出将如下 −

{ positive: 7, negative: 3 }

更新日期: 2020 年 11 月 21 日

170 次浏览

开启你的 职业生涯

通过完成课程取得认证

开始
广告