Collection Methods

লোড্যাশ (Lodash) - Web Development

306

Lodash এর Collection Methods গুলি এমন ফাংশন সরবরাহ করে যা array বা object এর উপরে বিভিন্ন কার্যক্রম সহজ করে। এগুলি সাধারণত ডেটার ভ্যালু, আইটেম বা প্রপার্টির উপর কাজ করে, এবং কিছু কমন অপারেশন যেমন filtering, mapping, reducing ইত্যাদি সম্পন্ন করে। Lodash এর Collection Methods ব্যবহার করে আপনি জটিল ডেটা সহজে পরিচালনা করতে পারবেন।


১. _.each() এবং _.forEach()

Lodash এর _.each() এবং _.forEach() দুইটি ফাংশনই একই কাজ করে। এই ফাংশনগুলো অ্যারে বা অবজেক্টের প্রতিটি আইটেম বা প্রপার্টির উপর কাজ করে। পার্থক্য হলো _.each() কে Lodash এ ব্যবহার করা হয়, এবং _.forEach() JavaScript এর native method।

উদাহরণ:

const _ = require('lodash');

let array = [1, 2, 3, 4, 5];

// _.each() ব্যবহার করা
_.each(array, (value) => {
  console.log(value);
});

// অথবা _.forEach() ব্যবহার করা
_.forEach(array, (value) => {
  console.log(value);
});

উল্লেখযোগ্য: _.each() এবং _.forEach() একটি ফাংশনকে প্রতিটি আইটেমের সাথে কল করবে।


২. _.map()

_.map() ফাংশন অ্যারে বা অবজেক্টের প্রতিটি আইটেমের উপর একটি ফাংশন প্রয়োগ করে এবং নতুন একটি অ্যারে ফেরত দেয়।

উদাহরণ:

const _ = require('lodash');

let array = [1, 2, 3, 4, 5];

// _.map() ব্যবহার করে প্রতিটি আইটেমকে দ্বিগুণ করা
let doubledArray = _.map(array, (num) => num * 2);
console.log(doubledArray); // [2, 4, 6, 8, 10]

এটি মূল array পরিবর্তন না করে একটি নতুন array তৈরি করে।


৩. _.filter()

_.filter() ফাংশন একটি array বা object এর মধ্যে ফিল্টার করে এবং কেবলমাত্র সেই আইটেমগুলো ফিরিয়ে দেয় যা দেওয়া শর্ত পূরণ করে। এটি একটি নতুন array রিটার্ন করে।

উদাহরণ:

const _ = require('lodash');

let array = [1, 2, 3, 4, 5, 6];

// _.filter() ব্যবহার করে even number গুলি বের করা
let evenNumbers = _.filter(array, (num) => num % 2 === 0);
console.log(evenNumbers); // [2, 4, 6]

এটি একটি নতুন array তৈরি করবে, যাতে শুধু filter করা আইটেম থাকবে।


৪. _.reduce()

_.reduce() ফাংশন array বা object এর সমস্ত আইটেমকে একত্রিত করে একটি একক মানে রিডিউস (reduce) করে। এটি একটি accumulator ব্যবহার করে।

উদাহরণ:

const _ = require('lodash');

let array = [1, 2, 3, 4, 5];

// _.reduce() ব্যবহার করে array এর সমস্ত সংখ্যার যোগফল বের করা
let sum = _.reduce(array, (total, num) => total + num, 0);
console.log(sum); // 15

এখানে accumulator total হিসেবে কাজ করছে এবং প্রতিটি আইটেম যোগ হচ্ছে।


৫. _.find()

_.find() ফাংশন array বা object এর মধ্যে প্রথম matching value খুঁজে বের করে এবং তা ফিরিয়ে দেয়। যদি কোন matching value না পাওয়া যায়, তবে এটি undefined রিটার্ন করে।

উদাহরণ:

const _ = require('lodash');

let array = [1, 2, 3, 4, 5];

// _.find() ব্যবহার করে প্রথম even number খুঁজে বের করা
let found = _.find(array, (num) => num % 2 === 0);
console.log(found); // 2

এটি প্রথম matching আইটেমটি ফিরিয়ে দেয়।


৬. _.some() এবং _.every()

  • _.some() ফাংশন চেক করে যে কোনো একটি আইটেম শর্ত পূরণ করে কিনা। যদি একটি শর্ত পূর্ণ হয় তবে এটি true রিটার্ন করে, নইলে false
  • _.every() ফাংশন চেক করে যে সব আইটেম শর্ত পূরণ করছে কিনা। যদি সব আইটেম শর্ত পূর্ণ করে তবে এটি true রিটার্ন করে, নইলে false

উদাহরণ:

const _ = require('lodash');

let array = [1, 2, 3, 4, 5];

// _.some() ব্যবহার করে যে কোন even number আছে কিনা
let hasEven = _.some(array, (num) => num % 2 === 0);
console.log(hasEven); // true

// _.every() ব্যবহার করে সব number even কিনা চেক করা
let allEven = _.every(array, (num) => num % 2 === 0);
console.log(allEven); // false

৭. _.uniq()

_.uniq() ফাংশন একটি array থেকে duplicate আইটেম সরিয়ে দেয় এবং একটি নতুন array রিটার্ন করে যেখানে শুধু ইউনিক (unique) আইটেম থাকবে।

উদাহরণ:

const _ = require('lodash');

let array = [1, 2, 2, 3, 4, 4, 5];

// _.uniq() ব্যবহার করে unique value বের করা
let uniqueArray = _.uniq(array);
console.log(uniqueArray); // [1, 2, 3, 4, 5]

এটি original array তে কোনো পরিবর্তন না করে নতুন একটি array তৈরি করবে।


৮. _.groupBy()

_.groupBy() ফাংশন array এর আইটেমগুলোকে একটি নির্দিষ্ট criterion অনুসারে গ্রুপ করে। এটি একটি object রিটার্ন করে যেখানে key হবে grouping criteria এবং value হবে matching আইটেমগুলোর array।

উদাহরণ:

const _ = require('lodash');

let array = [1.1, 2.2, 2.3, 3.3, 4.4];

// _.groupBy() ব্যবহার করে দশমিক অংশের উপর ভিত্তি করে গ্রুপ করা
let grouped = _.groupBy(array, (num) => Math.floor(num));
console.log(grouped); 
// { '1': [ 1.1 ], '2': [ 2.2, 2.3 ], '3': [ 3.3 ], '4': [ 4.4 ] }

এটি array এর আইটেমগুলোকে group করে এবং একটি object রিটার্ন করে।


উপসংহার

Lodash এর Collection Methods এমন শক্তিশালী ফাংশন সরবরাহ করে যা array বা object এর উপরে বিভিন্ন কাজ সহজ করে। আপনি এই ফাংশনগুলোর মাধ্যমে আপনার ডেটা খুব সহজেই filter, map, reduce, group এবং manipulate করতে পারবেন। এগুলোর ব্যবহার কোডকে সহজ, পরিষ্কার এবং আরও কার্যকরী করে তোলে।

Content added By

Lodash এর _.forEach() এবং _.map() দুটি অত্যন্ত জনপ্রিয় ফাংশন যা অ্যারে এবং অবজেক্টের উপরে লুপ চালানোর জন্য ব্যবহৃত হয়। যদিও JavaScript এর নিজস্ব forEach() এবং map() মেথড রয়েছে, Lodash এই মেথডগুলোর কিছু উন্নত ফিচার এবং ফাংশনালিটি প্রদান করে। এখানে _.forEach() এবং _.map() এর ব্যবহার বিশদভাবে আলোচনা করা হবে।


_.forEach() এর ব্যবহার

_.forEach() ফাংশনটি একটি অ্যারে বা অবজেক্টের প্রতিটি উপাদান বা প্রোপার্টির উপর একটি ফাংশন চালায়। এটি মূলত একটি "iteration" ফাংশন হিসেবে কাজ করে, যেখানে প্রতিটি উপাদানের উপর একটি নির্দিষ্ট কাজ করা হয়।

সাধারণ সিনট্যাক্স

_.forEach(collection, iteratee);
  • collection: এটি হতে পারে একটি অ্যারে, অবজেক্ট, অথবা স্ট্রিং।
  • iteratee: একটি ফাংশন, যা প্রতিটি উপাদানের জন্য কার্যকর হবে।

উদাহরণ ১: অ্যারে ব্যবহার

const _ = require('lodash');

let numbers = [1, 2, 3, 4, 5];

_.forEach(numbers, (number) => {
  console.log(number * 2);  // প্রতিটি উপাদানকে ২ দিয়ে গুণ করবে
});

আউটপুট:

2
4
6
8
10

উদাহরণ ২: অবজেক্ট ব্যবহার

const person = {
  name: 'John',
  age: 30,
  city: 'New York'
};

_.forEach(person, (value, key) => {
  console.log(`${key}: ${value}`);
});

আউটপুট:

name: John
age: 30
city: New York

_.forEach() ফাংশনটি অ্যারে বা অবজেক্টের প্রতিটি উপাদান বা প্রোপার্টির উপর নির্দিষ্ট ফাংশনটি কার্যকর করে এবং কিছু রিটার্ন করে না।


_.map() এর ব্যবহার

_.map() ফাংশনটি একটি অ্যারে বা অবজেক্টের উপর ম্যাপ অপারেশন চালায় এবং একটি নতুন অ্যারে রিটার্ন করে, যেখানে প্রত্যেকটি উপাদান একটি ফাংশন দ্বারা প্রসেস করা হয়।

সাধারণ সিনট্যাক্স

_.map(collection, iteratee);
  • collection: এটি হতে পারে একটি অ্যারে বা অবজেক্ট।
  • iteratee: একটি ফাংশন যা প্রতিটি উপাদানের জন্য কার্যকর হবে এবং নতুন মান প্রদান করবে।

উদাহরণ ১: অ্যারে ব্যবহার

const _ = require('lodash');

let numbers = [1, 2, 3, 4, 5];

let doubledNumbers = _.map(numbers, (number) => number * 2);
console.log(doubledNumbers);  // [2, 4, 6, 8, 10]

আউটপুট:

[2, 4, 6, 8, 10]

_.map() ফাংশনটি একটি নতুন অ্যারে রিটার্ন করে, যেখানে প্রতিটি উপাদান iteratee ফাংশন দ্বারা প্রসেস করা হয়েছে।

উদাহরণ ২: অবজেক্ট ব্যবহার

const person = {
  name: 'John',
  age: 30,
  city: 'New York'
};

let uppercasedPerson = _.map(person, (value) => value.toUpperCase());
console.log(uppercasedPerson);  // ['JOHN', '30', 'NEW YORK']

আউটপুট:

['JOHN', '30', 'NEW YORK']

এখানে _.map() অবজেক্টের প্রতিটি ভ্যালুকে toUpperCase() ফাংশনের মাধ্যমে প্রসেস করেছে এবং একটি নতুন অ্যারে রিটার্ন করেছে।


_.forEach() এবং _.map() এর মধ্যে পার্থক্য

বৈশিষ্ট্য_.forEach()_.map()
রিটার্ন ভ্যালুরিটার্ন কিছুই করে না, শুধুমাত্র পাশের ফাংশন চালায়একটি নতুন অ্যারে রিটার্ন করে, যেখানে প্রতিটি উপাদান iteratee দ্বারা পরিবর্তিত হয়
ব্যবহারের উদ্দেশ্যকেবল ইটারেশন বা প্রতিটি উপাদান/প্রোপার্টির উপর কাজ চালানোনতুন অ্যারে তৈরি করা, যেখানে প্রত্যেকটি উপাদান পরিবর্তিত বা প্রসেস করা হয়
পারফরম্যান্সতুলনামূলকভাবে দ্রুত, যদি শুধু ইটারেশন দরকার হয়নতুন অ্যারে তৈরি করার জন্য কিছুটা ধীর হতে পারে

উপসংহার

  • _.forEach() ফাংশনটি মূলত একটি "iteration" ফাংশন, যেখানে আপনি শুধুমাত্র একটি নির্দিষ্ট কাজ করবেন অ্যারে বা অবজেক্টের উপর, কিন্তু এটি কোনো নতুন মান রিটার্ন করে না।
  • _.map() ফাংশনটি একটি নতুন অ্যারে তৈরি করে, যেখানে প্রতিটি উপাদান একটি নির্দিষ্ট ফাংশনের মাধ্যমে পরিবর্তিত হয়। এটি যখন নতুন অ্যারে দরকার তখন ব্যবহার করা হয়।

এই দুটি ফাংশন Lodash লাইব্রেরির শক্তিশালী সরঞ্জাম, যা JavaScript ডেভেলপমেন্টে ডেটা প্রসেসিং এবং ম্যানিপুলেশনকে আরও সহজ এবং কার্যকরী করে তোলে।

Content added By

Lodash লাইব্রেরিতে বিভিন্ন powerful utility functions রয়েছে যা JavaScript কোডকে সহজ এবং কার্যকরী করে তোলে। এর মধ্যে _.filter(), _.reduce(), এবং _.find() এমন কিছু জনপ্রিয় ফাংশন যা Array বা Object এর উপরে বিভিন্ন অপারেশন করতে সাহায্য করে। নিচে এই তিনটি ফাংশনের ব্যবহার বিস্তারিতভাবে আলোচনা করা হলো।


১. _.filter() ফাংশন

_.filter() ফাংশনটি একটি array বা object থেকে নির্দিষ্ট শর্ত পূরণকারী উপাদানগুলি বের করতে ব্যবহৃত হয়। এটি একটি নতুন array রিটার্ন করে যেখানে শুধুমাত্র শর্ত পূর্ণ করা উপাদানগুলি থাকে।

Syntax:

_.filter(collection, predicate);
  • collection: এটি হতে পারে একটি array, object, বা string।
  • predicate: এটি একটি ফাংশন বা মান, যা প্রতিটি উপাদান পরীক্ষা করে এবং true বা false রিটার্ন করে।

উদাহরণ:

const _ = require('lodash');

let numbers = [1, 2, 3, 4, 5, 6];

// even numbers বের করতে
let evenNumbers = _.filter(numbers, (num) => num % 2 === 0);
console.log(evenNumbers); // [2, 4, 6]

এখানে, _.filter() ফাংশনটি array থেকে even (যাজক) সংখ্যাগুলি বের করে, এবং একটি নতুন array রিটার্ন করে।


২. _.reduce() ফাংশন

_.reduce() ফাংশনটি একটি array বা object এর উপাদানগুলির উপর অ্যাকমুলেটর (accumulator) ভিত্তিক অপারেশন করে, অর্থাৎ এটি একটি একক মান রিটার্ন করে যেটি সমস্ত উপাদানের উপর কোনো নির্দিষ্ট কাজ করার মাধ্যমে পাওয়া যায়।

Syntax:

_.reduce(collection, iteratee, [initialValue]);
  • collection: এটি হতে পারে একটি array, object, বা string।
  • iteratee: এটি একটি ফাংশন যা প্রতিটি উপাদানকে প্রক্রিয়া করে এবং accumulator এর মান আপডেট করে।
  • initialValue: এটি একটি optional মান, যা accumulator এর প্রথম মান হিসেবে ব্যবহৃত হয়।

উদাহরণ:

const _ = require('lodash');

let numbers = [1, 2, 3, 4];

// সব সংখ্যার যোগফল বের করতে
let sum = _.reduce(numbers, (total, num) => total + num, 0);
console.log(sum); // 10

এখানে, _.reduce() ফাংশনটি array এর সমস্ত মান যোগ করে একটি একক মান রিটার্ন করে, যেখানে accumulator প্রথমে 0 এবং প্রতিটি উপাদান যোগ করা হয়।


৩. _.find() ফাংশন

_.find() ফাংশনটি একটি array বা object থেকে প্রথম যে উপাদানটি শর্ত পূরণ করে, সেটি বের করে। এটি প্রথম মিল পাওয়া উপাদানটি রিটার্ন করে, এবং যদি কোনো উপাদান না মেলে, তবে undefined রিটার্ন করে।

Syntax:

_.find(collection, predicate);
  • collection: এটি হতে পারে একটি array, object, বা string।
  • predicate: এটি একটি ফাংশন বা মান, যা প্রতিটি উপাদান পরীক্ষা করে এবং true বা false রিটার্ন করে।

উদাহরণ:

const _ = require('lodash');

let users = [
  { 'user': 'barney', 'age': 36 },
  { 'user': 'fred', 'age': 40 },
  { 'user': 'pebbles', 'age': 1 }
];

// বয়স্ক ব্যবহারকারী খুঁজে বের করতে
let olderUser = _.find(users, (user) => user.age > 35);
console.log(olderUser); // { user: 'barney', age: 36 }

এখানে, _.find() ফাংশনটি প্রথম ব্যবহারকারী খুঁজে বের করে যার বয়স 35 এর বেশি।


উপসংহার

Lodash এর _.filter(), _.reduce(), এবং _.find() ফাংশনগুলি অত্যন্ত শক্তিশালী এবং JavaScript এর array বা object এর উপর বিভিন্ন কাজ করার জন্য অত্যন্ত কার্যকরী। এগুলি আপনার কোডকে সহজ এবং পরিষ্কার করতে সাহায্য করে, এবং জটিল অপারেশনগুলোকে আরও দক্ষভাবে সম্পন্ন করতে পারে।

  • _.filter() ফাংশন দিয়ে শর্ত অনুযায়ী মান নির্বাচন করা হয়।
  • _.reduce() ফাংশন দিয়ে array এর সব মান একত্রিত করে একটি একক মান তৈরি করা হয়।
  • _.find() ফাংশন দিয়ে প্রথম মিল পাওয়া মান বের করা হয়।

এগুলো ব্যবহার করে আপনি আপনার JavaScript কোডের কার্যকারিতা এবং রিডেবিলিটি (readability) বৃদ্ধি করতে পারেন।

Content added By

Lodash একটি শক্তিশালী JavaScript লাইব্রেরি, যা আপনাকে collection (array, object, set, map) গুলি সহজে ম্যানিপুলেট এবং ট্রান্সফর্ম (transform) করতে সাহায্য করে। Lodash এর বিভিন্ন ফাংশন ব্যবহার করে আপনি সহজেই ডেটা ম্যানিপুলেশন, সোর্টিং, ফিল্টারিং, এবং ডেটা পরিবর্তন (transformation) করতে পারেন। এই টিউটোরিয়ালে আমরা Lodash এর collection manipulation এবং transformation techniques নিয়ে আলোচনা করবো।


১. Collection Manipulation

Lodash এর collection manipulation ফাংশনগুলি আপনাকে array, object, এবং অন্যান্য ডেটা স্ট্রাকচার ম্যানিপুলেট করতে সাহায্য করে। নিচে কিছু গুরুত্বপূর্ণ ফাংশন তুলে ধরা হলো।

১.১. _.map()

_.map() একটি collection এর প্রতিটি item বা element এর উপর একটি ফাংশন প্রয়োগ করে এবং একটি নতুন array তৈরি করে।

Syntax:

_.map(collection, iteratee)

উদাহরণ:

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 এর প্রতিটি element কে 2 দিয়ে গুণ করেছি এবং একটি নতুন array তৈরি করেছি।

১.২. _.filter()

_.filter() একটি collection থেকে সেই elements গুলি ফিল্টার করে, যেগুলি একটি প্রদত্ত শর্ত পূর্ণ করে।

Syntax:

_.filter(collection, predicate)

উদাহরণ:

let numbers = [1, 2, 3, 4, 5, 6];
let evenNumbers = _.filter(numbers, num => num % 2 === 0);

console.log(evenNumbers); // [2, 4, 6]

এখানে, _.filter() ব্যবহার করে আমরা এমন সব number গুলি বের করেছি যেগুলি even (2 দিয়ে ভাগ করা যায়)।

১.৩. _.reduce()

_.reduce() একটি collection এর সব items এর উপর একটি accumulator ফাংশন প্রয়োগ করে একটি একক মান (single value) বের করে।

Syntax:

_.reduce(collection, iteratee, [initialValue])

উদাহরণ:

let numbers = [1, 2, 3, 4, 5];
let sum = _.reduce(numbers, (total, num) => total + num, 0);

console.log(sum); // 15

এখানে, _.reduce() ব্যবহার করে আমরা numbers array এর সব number এর যোগফল বের করেছি।

১.৪. _.find()

_.find() একটি collection থেকে প্রথম element খুঁজে বের করে যা একটি প্রদত্ত শর্ত পূর্ণ করে।

Syntax:

_.find(collection, predicate)

উদাহরণ:

let users = [
  { 'user': 'John', 'age': 25 },
  { 'user': 'Sarah', 'age': 32 },
  { 'user': 'Mike', 'age': 40 }
];

let user = _.find(users, { 'age': 32 });
console.log(user); // { 'user': 'Sarah', 'age': 32 }

এখানে, _.find() ব্যবহার করে আমরা এমন একটি user খুঁজে বের করেছি যার বয়স 32।

১.৫. _.sortBy()

_.sortBy() একটি collection কে নির্দিষ্ট একটি কিপারের উপর ভিত্তি করে সাজিয়ে দেয়।

Syntax:

_.sortBy(collection, iteratee)

উদাহরণ:

let users = [
  { 'user': 'John', 'age': 25 },
  { 'user': 'Sarah', 'age': 32 },
  { 'user': 'Mike', 'age': 40 }
];

let sortedUsers = _.sortBy(users, 'age');
console.log(sortedUsers);
// [
//   { 'user': 'John', 'age': 25 },
//   { 'user': 'Sarah', 'age': 32 },
//   { 'user': 'Mike', 'age': 40 }
// ]

এখানে, _.sortBy() ব্যবহার করে আমরা users array কে age এর উপর ভিত্তি করে সাজিয়েছি।


২. Collection Transformation

Lodash এর transformation ফাংশনগুলি ব্যবহার করে আপনি collection এর elements কে বিভিন্ন ফরম্যাটে পরিবর্তন করতে পারেন। যেমন, array থেকে object বা vice versa পরিবর্তন করা।

২.১. _.groupBy()

_.groupBy() একটি collection এর items কে নির্দিষ্ট একটি কিপারের উপর ভিত্তি করে গ্রুপ করে।

Syntax:

_.groupBy(collection, iteratee)

উদাহরণ:

let users = [
  { 'user': 'John', 'age': 25 },
  { 'user': 'Sarah', 'age': 32 },
  { 'user': 'Mike', 'age': 40 },
  { 'user': 'James', 'age': 25 }
];

let groupedUsers = _.groupBy(users, 'age');
console.log(groupedUsers);
// {
//   '25': [{ 'user': 'John', 'age': 25 }, { 'user': 'James', 'age': 25 }],
//   '32': [{ 'user': 'Sarah', 'age': 32 }],
//   '40': [{ 'user': 'Mike', 'age': 40 }]
// }

এখানে, _.groupBy() ব্যবহার করে আমরা users array কে age এর উপর ভিত্তি করে গ্রুপ করে ফেলেছি।

২.২. _.keyBy()

_.keyBy() একটি collection এর items কে একটি নির্দিষ্ট key এর উপর ভিত্তি করে object এ পরিবর্তন করে।

Syntax:

_.keyBy(collection, iteratee)

উদাহরণ:

let users = [
  { 'user': 'John', 'id': 1 },
  { 'user': 'Sarah', 'id': 2 },
  { 'user': 'Mike', 'id': 3 }
];

let keyedUsers = _.keyBy(users, 'id');
console.log(keyedUsers);
// {
//   '1': { 'user': 'John', 'id': 1 },
//   '2': { 'user': 'Sarah', 'id': 2 },
//   '3': { 'user': 'Mike', 'id': 3 }
// }

এখানে, _.keyBy() ব্যবহার করে আমরা users array কে id এর উপর ভিত্তি করে একটি object এ পরিবর্তন করেছি।

২.৩. _.flatMap()

_.flatMap() একটি collection থেকে একটি নতুন array তৈরি করে এবং তারপর তা flatten করে।

Syntax:

_.flatMap(collection, iteratee)

উদাহরণ:

let nestedArray = [[1, 2], [3, 4], [5, 6]];
let flatArray = _.flatMap(nestedArray, x => x);
console.log(flatArray); // [1, 2, 3, 4, 5, 6]

এখানে, _.flatMap() ব্যবহার করে আমরা একটি nested array কে flatten করে একক array তে পরিণত করেছি।


উপসংহার

Lodash এর collection manipulation এবং transformation techniques এর মাধ্যমে আপনি খুব সহজেই বিভিন্ন ধরনের ডেটা ম্যানিপুলেশন, ফিল্টারিং, মাপিং এবং ডেটা পরিবর্তন করতে পারবেন। এর ফাংশনগুলো আপনাকে জটিল কাজগুলোকে খুব সহজভাবে পরিচালনা করার সুযোগ দেয় এবং আপনার JavaScript কোডের রিডেবিলিটি এবং কার্যকারিতা বাড়ায়।

Content added By

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() এর মতো ফাংশনগুলি কোডকে আরও পরিষ্কার, শক্তিশালী এবং পরিচালনা করা সহজ করে তোলে। এগুলি ব্যবহারের মাধ্যমে আপনি ডেটা সেটগুলিকে আরও দক্ষতার সাথে প্রক্রিয়া করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...