Prototype Framework একটি JavaScript লাইব্রেরি যা বিভিন্ন ফিচার সরবরাহ করে, যার মধ্যে AJAX হ্যান্ডলিং, DOM ম্যানিপুলেশন, ইভেন্ট হ্যান্ডলিং, এবং অনেক কিছু। এর Enumerable মডিউল JavaScript অ্যারে এবং অবজেক্টগুলির সাথে কাজ করার জন্য বিভিন্ন ইউটিলিটি মেথড প্রদান করে, যেমন each, map, select, reject, inject, ইত্যাদি।
Prototype এর Enumerable মডিউল ব্যবহার
Enumerable মডিউল JavaScript অ্যারে, অবজেক্ট এবং অন্যান্য Iterable অবজেক্টের উপর কার্যকরী ফাংশন প্রদান করে। এটি functional programming ধারণার উপর ভিত্তি করে, যা আপনাকে অ্যারে এবং অবজেক্টগুলির উপরে কার্যকরীভাবে ম্যানিপুলেশন এবং লজিক প্রয়োগ করতে দেয়।
Common Enumerable Methods:
- each()
- map()
- select()
- reject()
- inject()
- partition()
এগুলোর সাহায্যে আপনি অ্যারে বা অবজেক্টের উপাদানগুলোকে ফিল্টার, মানচিত্র, এবং অন্যান্য কার্যক্রম করতে পারেন।
1. each() Method
each() মেথডটি অ্যারে বা অবজেক্টের প্রতিটি উপাদানের জন্য একটি ফাংশন চালায়।
Syntax:
enumerable.each(function(element, index) {
// Do something with element and index
});
Example:
var numbers = [1, 2, 3, 4, 5];
numbers.each(function(number, index) {
console.log('Index: ' + index + ', Value: ' + number);
});
Output:
Index: 0, Value: 1
Index: 1, Value: 2
Index: 2, Value: 3
Index: 3, Value: 4
Index: 4, Value: 5
এখানে, each() মেথডটি numbers অ্যারে থেকে প্রতিটি উপাদানের জন্য একটি কলব্যাক ফাংশন চালাচ্ছে এবং ইনডেক্স ও মান কনসোলে প্রিন্ট করছে।
2. map() Method
map() মেথডটি একটি নতুন অ্যারে তৈরি করে যেখানে প্রতিটি উপাদান একটি নির্দিষ্ট ফাংশনের মাধ্যমে রূপান্তরিত হয়।
Syntax:
var newArray = enumerable.map(function(element, index) {
return newValue;
});
Example:
var numbers = [1, 2, 3, 4, 5];
var doubled = numbers.map(function(number) {
return number * 2;
});
console.log(doubled);
Output:
[2, 4, 6, 8, 10]
এখানে, map() মেথডটি numbers অ্যারে থেকে প্রতিটি উপাদানকে গুণিত করে একটি নতুন অ্যারে doubled তৈরি করেছে।
3. select() Method
select() মেথডটি একটি নতুন অ্যারে তৈরি করে যা কেবলমাত্র সেই উপাদানগুলি রাখে যা একটি নির্দিষ্ট শর্ত পূর্ণ করে।
Syntax:
var selectedArray = enumerable.select(function(element) {
return condition; // Return true or false
});
Example:
var numbers = [1, 2, 3, 4, 5, 6];
var evenNumbers = numbers.select(function(number) {
return number % 2 === 0; // Select only even numbers
});
console.log(evenNumbers);
Output:
[2, 4, 6]
এখানে, select() মেথডটি শুধুমাত্র সেগুলোকেই নির্বাচন করেছে যেগুলি even (যেগুলোর ভাগফল ২ দিয়ে ভাগে যায়)।
4. reject() Method
reject() মেথডটি নতুন অ্যারে তৈরি করে যেটি সেই উপাদানগুলি বাদ দেয়, যা একটি নির্দিষ্ট শর্ত পূর্ণ করে।
Syntax:
var rejectedArray = enumerable.reject(function(element) {
return condition; // Return true or false
});
Example:
var numbers = [1, 2, 3, 4, 5, 6];
var oddNumbers = numbers.reject(function(number) {
return number % 2 === 0; // Reject even numbers
});
console.log(oddNumbers);
Output:
[1, 3, 5]
এখানে, reject() মেথডটি even numbers কে বাদ দিয়ে শুধু odd numbers নির্বাচন করেছে।
5. inject() Method
inject() মেথডটি একটি অ্যারে বা অবজেক্টের উপর একটি অ্যাকিউমুলেটর ফাংশন প্রয়োগ করে একটি একক মান উৎপন্ন করে।
Syntax:
var result = enumerable.inject(initialValue, function(accumulator, element) {
return accumulator + element; // Combine accumulator and element
});
Example:
var numbers = [1, 2, 3, 4];
var sum = numbers.inject(0, function(accumulator, number) {
return accumulator + number;
});
console.log(sum);
Output:
10
এখানে, inject() মেথডটি অ্যারে numbers এর সমস্ত উপাদান যোগ করে তাদের যোগফল sum রিটার্ন করেছে।
6. partition() Method
partition() মেথডটি একটি অ্যারে তৈরি করে যা দুটি সাব-অ্যারেতে ভাগ করে, একটি শর্ত পূর্ণকারী উপাদান এবং আরেকটি শর্ত পূর্ণ না করা উপাদানগুলি থাকে।
Syntax:
var [passed, failed] = enumerable.partition(function(element) {
return condition; // Return true or false
});
Example:
var numbers = [1, 2, 3, 4, 5];
var [evenNumbers, oddNumbers] = numbers.partition(function(number) {
return number % 2 === 0; // Separate even and odd numbers
});
console.log(evenNumbers); // [2, 4]
console.log(oddNumbers); // [1, 3, 5]
Output:
evenNumbers: [2, 4]
oddNumbers: [1, 3, 5]
এখানে, partition() মেথডটি even numbers এবং odd numbers পৃথক করে দুটি আলাদা অ্যারে তৈরি করেছে।
Prototype Framework এর Enumerable মডিউল ব্যবহার করার সুবিধা:
- Functional Programming: Enumerable methods ফাংশনাল প্রোগ্রামিং ধারণার উপর ভিত্তি করে, যা আপনাকে অ্যারে বা অবজেক্টের উপাদানগুলির উপরে কার্যকরীভাবে লজিক প্রয়োগ করতে দেয়।
- Code Simplicity: each(), map(), select(), reject() ইত্যাদি মেথডগুলো কোড লেখার প্রক্রিয়াকে সহজ এবং পরিষ্কার করে তোলে। আপনি কম লাইনে বেশি কাজ করতে পারেন।
- Readability: যেহেতু এই মেথডগুলি উচ্চ স্তরের ফাংশনাল অপারেশন করে, কোড আরও পাঠযোগ্য এবং সংক্ষিপ্ত হয়।
- Avoiding Loops: এই মেথডগুলি সাধারণত traditional for অথবা while loops এর পরিবর্তে ব্যবহার করা হয়, যা কোডকে আরও সহজ এবং পরিষ্কার রাখে।
Prototype Framework এর Enumerable মডিউল ব্যবহার করে আপনি অ্যারে এবং অবজেক্টগুলির উপর আরও কার্যকরীভাবে কাজ করতে পারেন। এটি আপনাকে functional programming ধারণার সাহায্যে map(), each(), select(), reject(), inject(), এবং অন্যান্য মেথড দিয়ে ডেটাকে প্রক্রিয়াকরণ এবং ম্যানিপুলেট করতে সাহায্য করে। এই মেথডগুলির মাধ্যমে আপনি কোডের পুনঃব্যবহারযোগ্যতা এবং পরিষ্কারতা বাড়াতে পারবেন।
Read more