हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो नंबर्स के दो ऐरे लेता है, मान लीजिए first और second, और उनकी समानता की जांच करता है।
हमारे मामले में समानता इन दो शर्तों में से एक द्वारा निर्धारित की जाएगी -
ऐरे समान हैं यदि उनमें समान एलिमेंट्स हैं चाहे उनका क्रम कुछ भी हो।
यदि पहले ऐरे के सभी एलिमेंट्स का योग और दूसरे ऐरे के सभी एलिमेंट्स का योग समान है।
उदाहरण के लिए -
[3, 5, 6, 7, 7] और [7, 5, 3, 7, 6] समान ऐरे हैं [1, 2, 3, 1, 2] और [7, 2] भी समान ऐरे हैं लेकिन [3, 4, 2, 5] और [2, 3, 1, 4] समान नहीं हैं
आइए इस फ़ंक्शन के लिए कोड लिखते हैं।
उदाहरण
const first = [3, 5, 6, 7, 7];
const second = [7, 5, 3, 7, 6];
const isEqual = (first, second) => {
const sumFirst = first.reduce((acc, val) => acc+val);
const sumSecond = second.reduce((acc, val) => acc+val);
if(sumFirst === sumSecond){
return true;
};
// यदि आप मूल ऐरे को म्यूट नहीं करना चाहते हैं तो यह करें अन्यथा first और second का उपयोग करें
const firstCopy = first.slice();
const secondCopy = second.slice();
for(let i = 0; i < firstCopy.length; i++){
const ind = secondCopy.indexOf(firstCopy[i]);
if(ind === -1){
return false;
};
secondCopy.splice(ind, 1);
};
return true;
};
console.log(isEqual(first, second));आउटपुट
कंसोल में आउटपुट होगा -
true