Lodash এ অনেক শক্তিশালী ফাংশন রয়েছে যা array এবং object এর উপর iteration করার জন্য ব্যবহৃত হয়। এগুলি আপনাকে ডেটা সংগ্রহ বা manipulation করার কাজটি সহজ, দ্রুত এবং কার্যকরভাবে সম্পন্ন করতে সাহায্য করে। এখানে Lodash এর Collection Methods এর কিছু গুরুত্বপূর্ণ ফাংশন এবং তাদের ব্যবহার নিয়ে আলোচনা করা হলো।
১. _.forEach() – Array/Object Iteration
_.forEach() হল একটি জনপ্রিয় ফাংশন যা array অথবা object এর প্রতিটি element বা property এর উপর iteration (লুপ) করতে ব্যবহৃত হয়। এটি মূলত একটি callback ফাংশন ব্যবহার করে।
ব্যবহার:
const _ = require('lodash');
let array = [1, 2, 3, 4, 5];
_.forEach(array, (value) => {
console.log(value); // 1, 2, 3, 4, 5
});
let object = { a: 1, b: 2, c: 3 };
_.forEach(object, (value, key) => {
console.log(key, value); // a 1, b 2, c 3
});
এই ফাংশনটি array বা object এর প্রতিটি element বা property তে কলব্যাক ফাংশন চালায়। এটা for...of অথবা for...in লুপের একটি সহজ বিকল্প।
২. _.map() – Array/Object Transformation
_.map() একটি array বা object এর প্রতিটি element এর উপর iteration করে, এবং একটি নতুন array তৈরি করে যা original array এর transformation (পরিবর্তিত) হয়ে থাকে।
ব্যবহার:
let array = [1, 2, 3, 4, 5];
let doubledArray = _.map(array, (num) => num * 2);
console.log(doubledArray); // [2, 4, 6, 8, 10]
let object = { a: 1, b: 2, c: 3 };
let newObject = _.map(object, (value, key) => value * 2);
console.log(newObject); // [2, 4, 6]
এটি Array.prototype.map() এর মতো কাজ করে, তবে এটি object ক্ষেত্রেও কাজ করতে সক্ষম।
৩. _.filter() – Filter Collection Elements
_.filter() একটি collection (array বা object) থেকে নির্দিষ্ট শর্ত অনুসারে element গুলি ফিল্টার করতে ব্যবহৃত হয়। এটি একটি নতুন array প্রদান করে, যেখানে শুধুমাত্র সেই element গুলি থাকবে যেগুলি callback function এর শর্ত পূর্ণ করবে।
ব্যবহার:
let array = [1, 2, 3, 4, 5];
let evenNumbers = _.filter(array, (num) => num % 2 === 0);
console.log(evenNumbers); // [2, 4]
let object = { a: 1, b: 2, c: 3 };
let evenValues = _.filter(object, (value) => value % 2 === 0);
console.log(evenValues); // [2]
এটি array বা object এর element গুলিকে ফিল্টার করতে সাহায্য করে, যেখানে callback ফাংশনটি True রিটার্ন করবে এমন element গুলি রাখা হয়।
৪. _.reject() – Reject Collection Elements
_.reject() হল _.filter() এর বিপরীত ফাংশন। এটি একটি collection থেকে সেই element গুলি বাদ দেয় যেগুলি callback function এর শর্ত পূর্ণ করে না।
ব্যবহার:
let array = [1, 2, 3, 4, 5];
let oddNumbers = _.reject(array, (num) => num % 2 === 0);
console.log(oddNumbers); // [1, 3, 5]
let object = { a: 1, b: 2, c: 3 };
let oddValues = _.reject(object, (value) => value % 2 === 0);
console.log(oddValues); // [1, 3]
এই ফাংশনটি filter এর বিপরীত, যেখানে কিছু element বাদ দেওয়া হয়।
৫. _.every() – Check if All Elements Satisfy a Condition
_.every() একটি collection এর প্রতিটি element এর উপর একটি শর্ত পরীক্ষা করে এবং এটি true রিটার্ন করে যদি সব element শর্তটি পূর্ণ করে, অন্যথায় false রিটার্ন করে।
ব্যবহার:
let array = [2, 4, 6, 8];
let allEven = _.every(array, (num) => num % 2 === 0);
console.log(allEven); // true
let object = { a: 2, b: 4, c: 6 };
let allEvenValues = _.every(object, (value) => value % 2 === 0);
console.log(allEvenValues); // true
এই ফাংশনটি চেক করে যে collection এর সবগুলো element একটি নির্দিষ্ট শর্ত পূর্ণ করছে কিনা।
৬. _.some() – Check if Any Element Satisfies a Condition
_.some() ফাংশনটি একটি collection এর কোন element যদি শর্ত পূর্ণ করে, তবে true রিটার্ন করে, অন্যথায় false রিটার্ন করে।
ব্যবহার:
let array = [1, 2, 3, 4];
let hasEven = _.some(array, (num) => num % 2 === 0);
console.log(hasEven); // true
let object = { a: 1, b: 2, c: 3 };
let hasEvenValue = _.some(object, (value) => value % 2 === 0);
console.log(hasEvenValue); // true
এটি কোনও একটি element এর শর্ত পূর্ণ হলে true রিটার্ন করে।
৭. _.find() – Find the First Element that Satisfies a Condition
_.find() একটি collection এর মধ্যে প্রথম element খুঁজে বের করে, যেটি একটি নির্দিষ্ট শর্ত পূর্ণ করে।
ব্যবহার:
let array = [1, 2, 3, 4, 5];
let firstEven = _.find(array, (num) => num % 2 === 0);
console.log(firstEven); // 2
let object = { a: 1, b: 2, c: 3 };
let firstEvenValue = _.find(object, (value) => value % 2 === 0);
console.log(firstEvenValue); // 2
এটি প্রথম element টিকেই ফিরিয়ে দেয় যেটি একটি শর্ত পূর্ণ করে।
৮. _.mapValues() – Transform Object Values
_.mapValues() একটি object এর প্রতিটি value এর উপর iteration করে এবং প্রতিটি value কে একটি transformation ফাংশনের মাধ্যমে পরিবর্তন করে।
ব্যবহার:
let object = { a: 1, b: 2, c: 3 };
let transformedObject = _.mapValues(object, (value) => value * 2);
console.log(transformedObject); // { a: 2, b: 4, c: 6 }
এটি object এর values গুলিকে পরিবর্তন করে, কিন্তু key গুলি অপরিবর্তিত থাকে।
উপসংহার
Lodash এর Collection Methods আপনাকে array এবং object এর উপর iteration এবং manipulation এর কাজ অনেক সহজ এবং দ্রুত করার সুযোগ দেয়। _.forEach(), _.map(), _.filter(), _.reject(), _.every(), _.some(), _.find(), এবং _.mapValues() এর মতো ফাংশনগুলি কোডকে আরও পরিষ্কার, শক্তিশালী এবং পরিচালনা করা সহজ করে তোলে। এগুলি ব্যবহারের মাধ্যমে আপনি ডেটা সেটগুলিকে আরও দক্ষতার সাথে প্রক্রিয়া করতে পারবেন।
Read more