हमें Python के zip फ़ंक्शन का JavaScript समकक्ष फ़ंक्शन लिखना है। यानी, समान लंबाई की कई सरणियाँ दिए जाने पर, हमें जोड़ियों की एक सरणी बनानी है।
उदाहरण के लिए, यदि मेरे पास तीन सरणियाँ हैं जो इस तरह दिखती हैं:
const array1 = [1, 2, 3]; const array2 = ['a', 'b', 'c']; const array3 = [4, 5, 6];
आउटपुट सरणी होनी चाहिए:
const output = [[1, 'a', 4], [2, 'b', 5], [3, 'c', 6]]
आइए इस zip() फ़ंक्शन के लिए कोड लिखते हैं। हम इसे कई तरीकों से कर सकते हैं जैसे reduce() मेथड या map() मेथड या साधारण नेस्टेड फॉर लूप का उपयोग करके, लेकिन यहाँ हम नेस्टेड forEach() लूप के साथ करेंगे।
उदाहरण
const array1 = [1, 2, 3];
const array2 = ['a', 'b', 'c'];
const array3 = [4, 5, 6];
const zip = (...arr) => {
const zipped = [];
arr.forEach((element, ind) => {
element.forEach((el, index) => {
if (!zipped[index]) {
zipped[index] = [];
}
if (!zipped[index][ind]) {
zipped[index][ind] = [];
}
zipped[index][ind] = el || '';
})
});
return zipped;
};
console.log(zip(array1, array2, array3));
आउटपुट
कंसोल में आउटपुट होगा:
[ [ 1, 'a', 4 ], [ 2, 'b', 5 ], [ 3, 'c', 6 ] ]