Computer >> Máy Tính >  >> Lập trình >> Javascript

Làm cách nào để tạo đối tượng thứ ba từ hai đối tượng bằng cách sử dụng các giá trị khóa trong JavaScript?


Giả sử, chúng ta có hai đối tượng như sau -

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

Chúng tôi được yêu cầu viết một hàm JavaScript có hai đối tượng như vậy. Sau đó, hàm sẽ sử dụng cả hai đối tượng này để tính điểm tích cực và tiêu cực và trả về một đối tượng như thế này -

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

Ví dụ

Mã cho điều này sẽ là -

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

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

{ positive: 7, negative: 3 }