如何使用 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 次瀏覽

開啟你的 職業生涯

透過完成課程取得認證

開始
廣告