मान लीजिए, हमें एक JavaScript फ़ंक्शन लिखना है जो डुप्लिकेट प्रविष्टियों वाली संख्याओं की एक सरणी लेता है और सभी डुप्लिकेट प्रविष्टियों को एक इंडेक्स पर जोड़ता है।
उदाहरण
यदि इनपुट सरणी है:
const input = [1, 3, 1, 3, 5, 7, 5, 4];
तो आउटपुट होना चाहिए:
const output = [2, 6, 7, 10, 4];
इसका मतलब है कि सभी डुप्लिकेट 1 इंडेक्स 0 पर जुड़ गए और सभी डुप्लिकेट 3 इंडेक्स 1 पर जुड़ गए, और इसी तरह।
कोड
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));
आउटपुट
[ 2, 6, 10, 7, 4 ]