Lodash লাইব্রেরি JavaScript এর array manipulation কাজগুলোকে আরও সহজ এবং কার্যকর করে তোলে। Filtering এবং Mapping দুটি গুরুত্বপূর্ণ অপারেশন যা সাধারণত arrays এর সাথে কাজ করার সময় প্রয়োজন হয়। Lodash এ এই অপারেশনগুলো কার্যকরভাবে সম্পাদন করার জন্য কিছু শক্তিশালী ফাংশন রয়েছে, যেমন _.filter() এবং _.map()। এই টিউটোরিয়ালে আমরা Lodash ব্যবহার করে arrays এ filtering এবং mapping করার পদ্ধতি জানব।
১. Arrays এ Filtering করা
Filtering এর মাধ্যমে আমরা একটি array থেকে নির্দিষ্ট শর্ত পূরণকারী আইটেমগুলো আলাদা করতে পারি। Lodash এর _.filter() ফাংশন এটি সহজে করতে সাহায্য করে। এটি একটি শর্ত (predicate function) নেয় এবং সেই শর্ত অনুযায়ী array এর সব আইটেম চেক করে, শুধুমাত্র মিলে যাওয়া আইটেমগুলো ফেরত দেয়।
উদাহরণ: _.filter() ব্যবহার করা
const _ = require('lodash');
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
// শুধু এমন সংখ্যাগুলোকে ফিল্টার করা যা ৫ এর বেশি
let filteredNumbers = _.filter(numbers, (num) => num > 5);
console.log(filteredNumbers); // [6, 7, 8, 9]
এখানে, _.filter() ফাংশনটি numbers array থেকে এমন সংখ্যাগুলো নির্বাচন করেছে যা ৫ এর বেশি।
আরেকটি উদাহরণ: অবজেক্ট এ filtering
let users = [
{ 'user': 'barney', 'age': 36 },
{ 'user': 'fred', 'age': 40 },
{ 'user': 'pebbles', 'age': 1 }
];
// শুধু যারা 18 বছরের বেশি তাদের ফিল্টার করা
let olderUsers = _.filter(users, (user) => user.age > 18);
console.log(olderUsers);
// [ { 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 } ]
এখানে, আমরা users array থেকে সেই অবজেক্টগুলো বের করেছি, যাদের বয়স ১৮ এর বেশি।
২. Arrays এ Mapping করা
Mapping এর মাধ্যমে আমরা array এর প্রতিটি আইটেমে একটি নির্দিষ্ট পরিবর্তন বা অপারেশন করতে পারি। Lodash এর _.map() ফাংশন এটি খুব সহজে করে দেয়। এটি একটি ফাংশন নেয় এবং সেই ফাংশনটি array এর প্রতিটি আইটেমে প্রয়োগ করে একটি নতুন array ফেরত দেয়।
উদাহরণ: _.map() ব্যবহার করা
const _ = require('lodash');
let numbers = [1, 2, 3, 4, 5];
// প্রতিটি সংখ্যাকে দ্বিগুণ করা
let doubledNumbers = _.map(numbers, (num) => num * 2);
console.log(doubledNumbers); // [2, 4, 6, 8, 10]
এখানে, _.map() ফাংশনটি numbers array এর প্রতিটি সংখ্যাকে দ্বিগুণ করেছে এবং একটি নতুন array ফিরিয়ে দিয়েছে।
আরেকটি উদাহরণ: অবজেক্ট এ mapping
let users = [
{ 'user': 'barney', 'age': 36 },
{ 'user': 'fred', 'age': 40 },
{ 'user': 'pebbles', 'age': 1 }
];
// প্রতিটি ব্যবহারকারীর বয়সে ১ বছর যোগ করা
let updatedUsers = _.map(users, (user) => {
user.age = user.age + 1;
return user;
});
console.log(updatedUsers);
// [ { 'user': 'barney', 'age': 37 }, { 'user': 'fred', 'age': 41 }, { 'user': 'pebbles', 'age': 2 } ]
এখানে, আমরা users array এর প্রতিটি অবজেক্টের বয়সে ১ বছর যোগ করেছি।
৩. Filtering এবং Mapping একসাথে করা
Lodash এর _.filter() এবং _.map() ফাংশনগুলো একসাথে ব্যবহার করা যেতে পারে, যেখানে প্রথমে filtering করা হয় এবং তারপর mapping অপারেশন প্রয়োগ করা হয়।
উদাহরণ: Filtering এবং Mapping একসাথে করা
const _ = require('lodash');
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
// প্রথমে ফিল্টার করা, তারপর প্রতিটি সংখ্যাকে দ্বিগুণ করা
let processedNumbers = _.map(_.filter(numbers, (num) => num > 5), (num) => num * 2);
console.log(processedNumbers); // [12, 14, 16, 18]
এখানে, প্রথমে আমরা _.filter() ব্যবহার করে ৫ এর বেশি সংখ্যাগুলো ফিল্টার করেছি এবং তারপর _.map() ব্যবহার করে সেই সংখ্যাগুলোর প্রতিটিকে দ্বিগুণ করেছি।
উপসংহার
Lodash এর _.filter() এবং _.map() ফাংশনগুলো JavaScript এ array manipulation এর কাজগুলো অনেক সহজ এবং কার্যকর করে তোলে। _.filter() ফাংশনটি নির্দিষ্ট শর্ত পূরণকারী আইটেমগুলো বের করতে সাহায্য করে, আর _.map() ফাংশনটি array এর প্রতিটি আইটেমে একটি নির্দিষ্ট পরিবর্তন বা অপারেশন প্রয়োগ করতে ব্যবহৃত হয়। এই ফাংশনগুলো একসাথে ব্যবহার করলে আরও জটিল array manipulation করা সম্ভব হয়।
Read more