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

Tính tổng tất cả giá trị trùng lặp trong mảng - JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một mảng số có các mục nhập trùng lặp và tổng tất cả các mục nhập trùng lặp vào một chỉ mục

Ví dụ -

Nếu mảng đầu vào là -

const input = [1, 3, 1, 3, 5, 7, 5, 4];

Sau đó, đầu ra phải là -

const output = [2, 6, 7, 10, 4];

Ví dụ

Hãy viết mã -

const input = [1, 3, 1, 3, 5, 7, 5, 3, 4];
const sumDuplicate = arr => {
   const map = arr.reduce((acc, val) => {
      if(acc.has(val)){
         acc.set(val, acc.get(val) + 1);
      }else{
         return acc;
      }, new Map());
   }
   return Array.from(map, el => el[0] * el[1]);
};
console.log(sumDuplicate(input));

Đầu ra

Sau đây là đầu ra trong bảng điều khiển -

[ 2, 9, 10, 7, 4 ]