यह लेख जावास्क्रिप्ट के map()
और filter()
मेथड्स के प्रभावी उपयोग को दर्शाता है, व्यक्तिगत रूप से और संयोजन में, कुशल सरणी प्रसंस्करण के लिए। हम उनके शक्ति और बहुमुखी प्रतिभा को डेटा में हेरफेर करने के लिए व्यावहारिक उदाहरणों का पता लगाएंगे।
विषयवस्तु की तालिका
- जावास्क्रिप्ट मैप
- जावास्क्रिप्ट फ़िल्टर
- मैप और फ़िल्टर को जोड़ना
- वास्तविक दुनिया का उदाहरण: ई-कॉमर्स उत्पाद फ़िल्टरिंग
- निष्कर्ष
जावास्क्रिप्ट मैप
map()
मेथड एक उच्च-क्रम फलन है जो एक सरणी में प्रत्येक तत्व पर पुनरावृति करता है और एक प्रदान किया गया कॉलबैक फलन लागू करता है। यह फलन प्रत्येक तत्व को बदलता है, और map()
परिवर्तित मानों वाली एक नई सरणी देता है। मूल सरणी अपरिवर्तित रहती है।
const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = numbers.map(number => number * 2); // [2, 4, 6, 8, 10]
console.log(doubledNumbers);
console.log(numbers); // मूल सरणी अपरिवर्तित है
जावास्क्रिप्ट फ़िल्टर
filter()
मेथड भी एक सरणी के माध्यम से पुनरावृति करता है। हालाँकि, तत्वों को बदलने के बजाय, यह एक कॉलबैक फलन द्वारा परिभाषित शर्त के आधार पर तत्वों को चुनिंदा रूप से शामिल करता है। कॉलबैक फलन को तत्व को शामिल करने के लिए true
और इसे बाहर करने के लिए false
वापस करना चाहिए। filter()
केवल उन तत्वों वाली एक नई सरणी देता है जो शर्त को पूरा करते हैं।
const numbers = [1, 2, 3, 4, 5, 6];
const evenNumbers = numbers.filter(number => number % 2 === 0); // [2, 4, 6]
console.log(evenNumbers);
मैप और फ़िल्टर को जोड़ना
map()
और filter()
की वास्तविक शक्ति तब प्रकट होती है जब उन्हें एक साथ जोड़ा जाता है। यह जटिल डेटा हेरफेर करने के लिए एक संक्षिप्त और कुशल तरीका प्रदान करता है। सरणी को कम करने के लिए आमतौर पर पहले filter()
लागू किया जाता है, उसके बाद शेष तत्वों को बदलने के लिए map()
लागू किया जाता है।
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const evenSquared = numbers
.filter(number => number % 2 === 0)
.map(number => number * number); // [4, 16, 36, 64, 100]
console.log(evenSquared);
वास्तविक दुनिया का उदाहरण: ई-कॉमर्स उत्पाद फ़िल्टरिंग
आइए एक ई-कॉमर्स एप्लिकेशन की कल्पना करें। हमारे पास उत्पाद ऑब्जेक्ट्स की एक सरणी है:
const products = [
{ name: "Shirt", price: 25, inStock: true, category: "clothing" },
{ name: "Pants", price: 40, inStock: false, category: "clothing" },
{ name: "Shoes", price: 75, inStock: true, category: "shoes" },
{ name: "Hat", price: 15, inStock: true, category: "accessories" },
{ name: "Jacket", price: 60, inStock: true, category: "clothing" }
];
हम केवल स्टॉक में मौजूद कपड़ों के नाम प्रदर्शित करना चाहते हैं। हम इसे filter()
और map()
का उपयोग करके कुशलतापूर्वक प्राप्त कर सकते हैं:
const inStockClothingNames = products
.filter(product => product.inStock && product.category === "clothing")
.map(product => product.name);
console.log(inStockClothingNames); // ['Shirt', 'Jacket']
निष्कर्ष
map()
और filter()
को मिलाकर जावास्क्रिप्ट में सरणी हेरफेर के लिए एक शक्तिशाली और पठनीय दृष्टिकोण मिलता है। यह कार्यात्मक शैली स्वच्छ कोड को बढ़ावा देती है, विस्तृत लूप की आवश्यकता को कम करती है, और रखरखाव में सुधार करती है। याद रखें कि दोनों विधियाँ नई सरणियाँ लौटाती हैं, मूल डेटा की अपरिवर्तनीयता को संरक्षित करती हैं।