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

Tính tổng tất cả các giá trị trùng lặp trong mảng trong 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ụ

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

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{
         acc.set(val, 1);
      };
      return acc;
   }, new Map());
   return Array.from(map, el => el[0] * el[1]);
};
console.log(sumDuplicate(input));

Đầu ra

Đầu ra trong bảng điều khiển -

[ 2, 9, 10, 7, 4 ]