हमें एक JavaScript फ़ंक्शन लिखना है जो पूर्णांकों की तीन सरणी लेता है जो सभी बढ़ते क्रम में क्रमबद्ध हैं। फ़ंक्शन को तब एक सरणी बनाकर लौटानी चाहिए जिसमें केवल वे तत्व हों जो तीनों सरणियों में मौजूद हैं।
उदाहरण
यदि इनपुट सरणियां हैं:
const arr1 = [4, 7, 8, 11, 13, 15, 17]; const arr2 = [1, 3, 4, 13, 18]; const arr3 = [2, 4, 7, 8, 9, 10, 13];
तो आउटपुट होना चाहिए:
const output = [4, 13];
उदाहरण
const arr1 = [4, 7, 8, 11, 13, 15, 17];
const arr2 = [1, 3, 4, 13, 18];
const arr3 = [2, 4, 7, 8, 9, 10, 13];
const intersectThree = (arr1 = [], arr2 = [], arr3 = []) => {
let curr1 = 0;
let curr2 = 0;
let curr3 = 0;
const res = [];
while((curr1 < arr1.length) && (curr2 < arr2.length) && (curr3 < arr3.length)){
if((arr1[curr1] === arr2[curr2]) && (arr2[curr2] === arr3[curr3])){
res.push(arr1[curr1]);
curr1++;
curr2++;
curr3++;
}
const max = Math.max(arr1[curr1], arr2[curr2], arr3[curr3]);
if(arr1[curr1] < max){
curr1++;
};
if(arr2[curr2] < max){
curr2++;
};
if(arr3[curr3] < max){
curr3++;
};
};
return res;
};
console.log(intersectThree(arr1, arr2, arr3));
आउटपुट
[4, 13]