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

Tìm tổng của tất cả các phần tử duy nhất 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ụ:Nếu mảng đầu vào là -

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

Đầu ra

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

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

// tất cả những cái trùng lặp được tổng hợp thành chỉ mục 0

// tất cả ba thứ trùng lặp được tổng hợp thành chỉ mục 1 và cứ tiếp tục như vậy.

Do đó, hãy viết mã cho chức năng này -

Ví dụ

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

const input = [1, 3, 1, 3, 5, 7, 5, 4];
const mergeDuplicates = 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(mergeDuplicates(input));

Đầu ra

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

[ 2, 6, 10, 7, 4 ]