Lodash এর _.flatten() এবং _.flattenDeep() ফাংশনগুলি ব্যবহৃত হয় nested arrays (অথবা array of arrays) কে একক array তে রূপান্তর করার জন্য। এই ফাংশনগুলির মাধ্যমে আপনি সহজেই nested arrays কে flatten করতে পারবেন, যা পরবর্তীতে array manipulation এর কাজে সহজ এবং কার্যকরী হয়ে ওঠে।
১. _.flatten() – Shallow Flattening
_.flatten() ফাংশনটি একটি array এর এক স্তরের (level) nested arrays কে flatten করতে ব্যবহৃত হয়। এটি শুধুমাত্র প্রথম স্তরের nested arrays কে একক array তে রূপান্তরিত করবে, এবং nested arrays এর মধ্যে আরও arrays থাকলে সেগুলিকে সরাসরি flat করবে না।
Syntax:
_.flatten(array);
- array: Flatten করার জন্য যে array টি প্রদান করতে হবে।
উদাহরণ:
const _ = require('lodash');
let nestedArray = [1, [2, 3], [4, 5], [6]];
// Flattening one level deep
let flattenedArray = _.flatten(nestedArray);
console.log(flattenedArray); // [1, 2, 3, 4, 5, 6]
ব্যাখ্যা: এখানে _.flatten() শুধুমাত্র প্রথম স্তরের nested arrays (যেমন [2, 3], [4, 5], [6]) কে flatten করেছে, কিন্তু যদি কোনো array আরও nested থাকে, তবে সেটি ফ্ল্যাট হয়নি।
২. _.flattenDeep() – Deep Flattening
_.flattenDeep() ফাংশনটি একটি array এর সমস্ত স্তরের nested arrays কে flatten করে, অর্থাৎ এটি পুরো nested structure কে একটি একক array তে রূপান্তরিত করে। এই ফাংশনটি যেকোনো স্তরের nested arrays কে full flatten করে দেয়।
Syntax:
_.flattenDeep(array);
- array: Flatten করার জন্য যে array টি প্রদান করতে হবে।
উদাহরণ:
const _ = require('lodash');
let deeplyNestedArray = [1, [2, [3, [4]]], 5];
// Deep flattening the array
let fullyFlattenedArray = _.flattenDeep(deeplyNestedArray);
console.log(fullyFlattenedArray); // [1, 2, 3, 4, 5]
ব্যাখ্যা: _.flattenDeep() সমস্ত স্তরের nested arrays কে fully flatten করেছে এবং একক array তে রূপান্তরিত করেছে। এখানে [3, [4]] এবং [4] এই nested structures সেগুলোর মধ্যে আরও ফ্ল্যাট হয়ে গেছে।
৩. পার্থক্য: _.flatten() vs _.flattenDeep()
| বৈশিষ্ট্য | _.flatten() | _.flattenDeep() |
|---|---|---|
| ফ্ল্যাট করার স্তরের সংখ্যা | শুধুমাত্র এক স্তরের nested arrays | সমস্ত স্তরের nested arrays |
| কীভাবে কাজ করে | শুধুমাত্র এক স্তরের nested arrays কে flat করে | পুরো nested structure কে full flatten করে |
| উদাহরণ | [1, [2, 3], [4, 5]] -> [1, 2, 3, 4, 5] | [1, [2, [3, [4]]], 5] -> [1, 2, 3, 4, 5] |
৪. এটি কেন ব্যবহার করবেন?
- Array Manipulation: যখন আপনার একটি nested array থাকে এবং আপনি এটিকে একটি একক array তে রূপান্তর করতে চান, তখন
_.flatten()বা_.flattenDeep()ব্যবহার করা সহজ এবং কার্যকরী। - Data Cleaning: JSON বা অন্যান্য sources থেকে ডেটা প্রাপ্তির পর যদি nested arrays থাকে, তবে এটি সরাসরি ফ্ল্যাট করা দরকার হতে পারে।
- Performance:
_.flatten()দ্রুত হতে পারে যদি array এর ভিতরে অনেক nested structure না থাকে। যদি array অনেক nested হয়ে থাকে, তবে_.flattenDeep()বেশি উপকারী হবে।
৫. আরও উদাহরণ
উদাহরণ ১: _.flatten() ব্যবহার
const _ = require('lodash');
let nestedArray = [1, [2, 3], [4, [5, 6]], 7];
// Flatten one level deep
let flattenedArray = _.flatten(nestedArray);
console.log(flattenedArray); // [1, 2, 3, 4, [5, 6], 7]
এখানে, _.flatten() শুধুমাত্র এক স্তরের nested array কে ফ্ল্যাট করেছে। [[5, 6]] এখনও nested রয়েছে, কারণ এটি _.flatten() এর সীমিত স্তরের ফ্ল্যাটিংয়ের মধ্যে পড়ে।
উদাহরণ ২: _.flattenDeep() ব্যবহার
const _ = require('lodash');
let deeplyNestedArray = [1, [2, [3, [4, [5]]]]];
// Fully flatten the array
let fullyFlattenedArray = _.flattenDeep(deeplyNestedArray);
console.log(fullyFlattenedArray); // [1, 2, 3, 4, 5]
এখানে, _.flattenDeep() পুরো nested structure কে একক array তে রূপান্তর করেছে, যেখানে সব nested arrays একত্রিত হয়ে গেছে।
উপসংহার
_.flatten(): শুধুমাত্র এক স্তরের nested arrays কে ফ্ল্যাট করে।_.flattenDeep(): সমস্ত স্তরের nested arrays কে সম্পূর্ণভাবে ফ্ল্যাট করে।
এটি যে কোন ধরনের nested array কে একক array তে রূপান্তর করতে সাহায্য করে, এবং ডেটা ম্যানিপুলেশন, ফ্ল্যাটিং, বা ডেটা ক্লিনিং এর কাজগুলোতে কার্যকরী ভূমিকা পালন করে।
Read more