Array এবং Object ম্যানিপুলেশন

কফিস্ক্রিপ্ট (CoffeeScript) - Web Development

256

CoffeeScript, JavaScript-এর মতো অ্যারে (Array) এবং অবজেক্ট (Object) ম্যানিপুলেশন সমর্থন করে এবং এই কাজগুলোকে আরও সহজ ও সংক্ষিপ্ত করে। CoffeeScript-এ অ্যারে এবং অবজেক্টের বিভিন্ন ম্যানিপুলেশন কাজ করার পদ্ধতি সহজ এবং কোডের পাঠযোগ্যতা বাড়ায়। এখানে CoffeeScript-এ অ্যারে এবং অবজেক্ট ম্যানিপুলেশনের বিভিন্ন পদ্ধতি আলোচনা করা হলো।


অ্যারে ম্যানিপুলেশন

১. অ্যারে তৈরি করা

CoffeeScript-এ অ্যারে তৈরি করার জন্য সাধারণভাবে [] (স্কোয়ার ব্র্যাকেট) ব্যবহার করা হয়।

উদাহরণ:
fruits = ["apple", "banana", "cherry"]

২. অ্যারে এন্ট্রি অ্যাক্সেস

অ্যারের একটি নির্দিষ্ট উপাদান অ্যাক্সেস করতে তার ইনডেক্স ব্যবহার করা হয়।

উদাহরণ:
console.log fruits[0]  # "apple"

৩. অ্যারে থেকে উপাদান যোগ করা

CoffeeScript-এ push ব্যবহার করে অ্যারেতে নতুন উপাদান যোগ করা হয়।

উদাহরণ:
fruits.push("orange")
console.log fruits  # ["apple", "banana", "cherry", "orange"]

৪. অ্যারে থেকে উপাদান মুছে ফেলা

CoffeeScript-এ pop বা splice ব্যবহার করে অ্যারেতে থেকে উপাদান মুছে ফেলা যায়।

উদাহরণ (pop ব্যবহার):
fruits.pop()
console.log fruits  # ["apple", "banana", "cherry"]
উদাহরণ (splice ব্যবহার):
fruits.splice(1, 1)  # ইনডেক্স 1 থেকে 1 উপাদান মুছে ফেলা হবে
console.log fruits  # ["apple", "cherry"]

৫. অ্যারে ফিল্টার করা

CoffeeScript-এ for লুপ বা map/filter ব্যবহার করে অ্যারে ফিল্টার করা যায়।

উদাহরণ:
numbers = [1, 2, 3, 4, 5]
even_numbers = (num for num in numbers when num % 2 == 0)
console.log even_numbers  # [2, 4]

৬. অ্যারে ম্যাপিং (Transforming Arrays)

map ব্যবহার করে অ্যারে ম্যাপ (ট্রান্সফর্ম) করা যায়।

উদাহরণ:
squared_numbers = (num * num for num in numbers)
console.log squared_numbers  # [1, 4, 9, 16, 25]

অবজেক্ট ম্যানিপুলেশন

১. অবজেক্ট তৈরি করা

CoffeeScript-এ অবজেক্ট তৈরি করতে {} ব্যবহার করা হয়।

উদাহরণ:
person = 
  name: "Alice"
  age: 25
  city: "New York"

২. অবজেক্ট থেকে প্রপার্টি অ্যাক্সেস করা

অবজেক্টের প্রপার্টি অ্যাক্সেস করতে কেবল . বা [] ব্যবহার করা যায়।

উদাহরণ:
console.log person.name  # "Alice"
console.log person['age']  # 25

৩. অবজেক্টে নতুন প্রপার্টি যোগ করা

CoffeeScript-এ অবজেক্টে নতুন প্রপার্টি যোগ করা খুব সহজ।

উদাহরণ:
person.country = "USA"
console.log person  # {name: "Alice", age: 25, city: "New York", country: "USA"}

৪. অবজেক্ট থেকে প্রপার্টি মুছে ফেলা

অবজেক্ট থেকে প্রপার্টি মুছে ফেলতে delete ব্যবহার করা হয়।

উদাহরণ:
delete person.city
console.log person  # {name: "Alice", age: 25, country: "USA"}

৫. অবজেক্টের মান পরিবর্তন করা

অবজেক্টের কোনো প্রপার্টির মান পরিবর্তন করতে আপনি সরাসরি প্রপার্টি অ্যাক্সেস করে মান অ্যাসাইন করতে পারেন।

উদাহরণ:
person.age = 26
console.log person  # {name: "Alice", age: 26, country: "USA"}

৬. অবজেক্টের সব প্রপার্টি অ্যাক্সেস করা

CoffeeScript-এ for...in লুপ ব্যবহার করে অবজেক্টের সব প্রপার্টি অ্যাক্সেস করা যায়।

উদাহরণ:
for key, value of person
  console.log "#{key}: #{value}"

আউটপুট:

name: Alice
age: 26
country: USA

অ্যারে এবং অবজেক্টের যৌথ ব্যবহার

CoffeeScript-এ অ্যারে এবং অবজেক্ট একসাথে ব্যবহার করা যায় এবং একে অপরকে ম্যানিপুলেট করা যায়।

উদাহরণ:
people = [
  name: "Alice", age: 25
  name: "Bob", age: 30
]

for person in people
  console.log "#{person.name} is #{person.age} years old"

আউটপুট:

Alice is 25 years old
Bob is 30 years old

সারাংশ

CoffeeScript-এ অ্যারে এবং অবজেক্ট ম্যানিপুলেশন JavaScript-এর মতোই শক্তিশালী এবং সহজ। push, pop, splice, map, filter ইত্যাদি ব্যবহার করে অ্যারে ম্যানিপুলেশন করা যায়, এবং {}for...in ব্যবহার করে অবজেক্ট ম্যানিপুলেশন করা সম্ভব। CoffeeScript-এর সহজ সিনট্যাক্স আপনাকে কম কোডে বেশি কাজ করতে সাহায্য করে, যা অ্যারে এবং অবজেক্টের ম্যানিপুলেশনকে আরও দ্রুত এবং কার্যকরী করে তোলে।

Content added By

CoffeeScript-এ অ্যারে (Array) তৈরি এবং ম্যানিপুলেশন JavaScript-এর মতোই করা যায়, তবে CoffeeScript কোডে সিনট্যাক্স সাধারণত আরও সহজ এবং সংক্ষিপ্ত হয়। এখানে অ্যারে তৈরি, ম্যানিপুলেশন এবং কিছু সাধারণ অ্যারে অপারেশন নিয়ে আলোচনা করা হয়েছে।


অ্যারে তৈরি (Array Creation)

CoffeeScript-এ অ্যারে তৈরি করতে [] ব্যবহার করা হয়, ঠিক যেমন JavaScript-এ হয়। অ্যারে তৈরি করতে নিচের কোডটি ব্যবহার করা হয়:

fruits = ["apple", "banana", "cherry"]

এটি একটি অ্যারে তৈরি করবে, যার মধ্যে তিনটি স্ট্রিং মান থাকবে। আপনি যে কোনো ডাটা টাইপ ব্যবহার করতে পারেন, যেমন স্ট্রিং, নাম্বার, বুলিয়ান ইত্যাদি।

উদাহরণ:

numbers = [1, 2, 3, 4, 5]
mixed = ["apple", 10, true, null]

অ্যারে এর উপাদান অ্যাক্সেস করা

CoffeeScript-এ অ্যারে উপাদান অ্যাক্সেস করা JavaScript-এর মতোই [] ব্যবহার করে। অ্যারে এর ইনডেক্স 0 থেকে শুরু হয়।

উদাহরণ:

fruits = ["apple", "banana", "cherry"]
console.log fruits[0]  # "apple"
console.log fruits[1]  # "banana"

অ্যারে ম্যানিপুলেশন (Array Manipulation)

CoffeeScript-এ অ্যারে ম্যানিপুলেশনের জন্য বেশ কিছু সহজ উপায় রয়েছে। এখানে কিছু সাধারণ অ্যারে ম্যানিপুলেশন অপারেশন আলোচনা করা হলো।

১. অ্যারে তে নতুন উপাদান যোগ করা

push মেথড ব্যবহার করে অ্যারেতে নতুন উপাদান যোগ করা যায়।

fruits = ["apple", "banana"]
fruits.push("cherry")
console.log fruits  # ["apple", "banana", "cherry"]

এছাড়া, CoffeeScript-এ সহজভাবে নতুন উপাদান যোগ করতে << (শিফট অপারেটর) ব্যবহার করা হয়।

fruits = ["apple", "banana"]
fruits << "cherry"
console.log fruits  # ["apple", "banana", "cherry"]

২. অ্যারে থেকে উপাদান মুছে ফেলা

অ্যারে থেকে উপাদান মুছে ফেলতে pop() বা splice() ব্যবহার করা হয়।

fruits = ["apple", "banana", "cherry"]
fruits.pop()  # Removes "cherry"
console.log fruits  # ["apple", "banana"]

splice() মেথড দিয়ে নির্দিষ্ট ইনডেক্স থেকে উপাদান মুছে ফেলা যায়:

fruits = ["apple", "banana", "cherry"]
fruits.splice(1, 1)  # Removes "banana"
console.log fruits  # ["apple", "cherry"]

৩. অ্যারে তে উপাদান খোঁজা

indexOf() মেথড ব্যবহার করে অ্যারে তে একটি উপাদান খুঁজে বের করা যায়।

fruits = ["apple", "banana", "cherry"]
console.log fruits.indexOf("banana")  # 1
console.log fruits.indexOf("grape")   # -1 (not found)

৪. অ্যারে ফিল্টার করা

filter() মেথড ব্যবহার করে নির্দিষ্ট শর্তে অ্যারে ফিল্টার করা যায়।

numbers = [1, 2, 3, 4, 5]
evenNumbers = numbers.filter (num) -> num % 2 == 0
console.log evenNumbers  # [2, 4]

৫. অ্যারে ম্যাপ করা

map() মেথড ব্যবহার করে একটি অ্যারেতে প্রতিটি উপাদানকে একটি নির্দিষ্ট ফাংশনের মাধ্যমে রূপান্তর করা যায়।

numbers = [1, 2, 3, 4]
squaredNumbers = numbers.map (num) -> num * num
console.log squaredNumbers  # [1, 4, 9, 16]

৬. অ্যারে এর সমস্ত উপাদান যোগ করা

reduce() মেথড ব্যবহার করে অ্যারে এর সমস্ত উপাদানের ওপর একটি নির্দিষ্ট কাজ করা যায়, যেমন সব উপাদান যোগ করা।

numbers = [1, 2, 3, 4]
sum = numbers.reduce (total, num) -> total + num
console.log sum  # 10

অ্যারে ডিপ্লিকেট রিমুভ করা

কখনও কখনও অ্যারেতে ডুপ্লিকেট উপাদান থাকে, যা সরিয়ে ফেলা দরকার। CoffeeScript-এ Set ব্যবহার করে ডুপ্লিকেট সরিয়ে ফেলা যায়।

numbers = [1, 2, 2, 3, 4, 4, 5]
uniqueNumbers = [...new Set(numbers)]
console.log uniqueNumbers  # [1, 2, 3, 4, 5]

অ্যারে এর দৈর্ঘ্য (Length)

অ্যারে এর দৈর্ঘ্য জানার জন্য length প্রপার্টি ব্যবহার করা হয়।

fruits = ["apple", "banana", "cherry"]
console.log fruits.length  # 3

সারাংশ

CoffeeScript-এ অ্যারে তৈরি এবং ম্যানিপুলেশন অনেক সহজ এবং সংক্ষিপ্ত। CoffeeScript এর সিনট্যাক্স JavaScript-এর তুলনায় আরো সংক্ষিপ্ত, যা কোড লেখার অভিজ্ঞতা উন্নত করে। আপনি অ্যারে তৈরি করতে পারেন, উপাদান যোগ বা মুছে ফেলতে পারেন, ফিল্টার, ম্যাপ, এবং রিডিউস ফাংশন ব্যবহার করে অ্যারের উপাদান ম্যানিপুলেট করতে পারেন। CoffeeScript অ্যারে ম্যানিপুলেশন এর জন্য বেশ কয়েকটি সহজ এবং শক্তিশালী ফিচার প্রদান করে, যা আপনাকে দ্রুত এবং কার্যকরভাবে কোডিং করতে সাহায্য করে।

Content added By

CoffeeScript-এ অবজেক্ট তৈরি এবং ম্যানিপুলেশন JavaScript-এর মতোই, তবে এর সিনট্যাক্স অনেক সহজ এবং সংক্ষিপ্ত। CoffeeScript-এ অবজেক্ট তৈরি করার জন্য {} ব্র্যাকেট ব্যবহার করা হয় এবং এর মধ্যে কী-ভ্যালু জোড়া (key-value pairs) সংজ্ঞায়িত করা হয়।


CoffeeScript-এ অবজেক্ট তৈরি করা

CoffeeScript-এ অবজেক্ট তৈরি করা খুবই সহজ এবং এটি JavaScript-এর তুলনায় আরও সংক্ষিপ্ত ও পরিষ্কার।

সাধারণ অবজেক্ট তৈরি

person =
  name: "Alice"
  age: 30
  job: "Engineer"

এখানে person অবজেক্টে তিনটি কী (name, age, job) এবং তাদের মান (value) রয়েছে।

JavaScript-এ কম্পাইল হওয়া কোড:

var person;
person = {
  name: "Alice",
  age: 30,
  job: "Engineer"
};

অবজেক্টে ডাইনামিক প্রপার্টি যোগ করা

CoffeeScript-এ আপনি অবজেক্টে ডাইনামিকভাবে প্রপার্টি যোগ করতে পারেন। এর জন্য সহজ সিনট্যাক্স ব্যবহার করা হয়।

উদাহরণ:

person = {name: "Alice", age: 30}
person.job = "Engineer"
console.log person  # {name: "Alice", age: 30, job: "Engineer"}

JavaScript-এ কম্পাইল হওয়া কোড:

var person;
person = {name: "Alice", age: 30};
person.job = "Engineer";
console.log(person);  // {name: "Alice", age: 30, job: "Engineer"}

এখানে person.job = "Engineer" দিয়ে অবজেক্টে নতুন একটি প্রপার্টি যোগ করা হয়েছে।


অবজেক্ট থেকে প্রপার্টি অ্যাক্সেস করা

CoffeeScript-এ অবজেক্টের প্রপার্টি অ্যাক্সেস করতে . ব্যবহার করা হয়। এছাড়া আপনি [] সিনট্যাক্সও ব্যবহার করতে পারেন।

উদাহরণ:

person =
  name: "Alice"
  age: 30

console.log person.name  # "Alice"
console.log person["age"]  # 30

JavaScript-এ কম্পাইল হওয়া কোড:

var person;
person = {
  name: "Alice",
  age: 30
};
console.log(person.name);  // "Alice"
console.log(person["age"]);  // 30

এখানে person.name এবং person["age"] দ্বারা অবজেক্টের প্রপার্টি অ্যাক্সেস করা হয়েছে।


অবজেক্টের প্রপার্টি মুছে ফেলা

CoffeeScript-এ আপনি অবজেক্টের প্রপার্টি delete কিওয়ার্ড ব্যবহার করে মুছে ফেলতে পারেন।

উদাহরণ:

person =
  name: "Alice"
  age: 30
  job: "Engineer"

delete person.job
console.log person  # {name: "Alice", age: 30}

JavaScript-এ কম্পাইল হওয়া কোড:

var person;
person = {
  name: "Alice",
  age: 30,
  job: "Engineer"
};
delete person.job;
console.log(person);  // {name: "Alice", age: 30}

এখানে delete person.job দ্বারা job প্রপার্টিটি মুছে ফেলা হয়েছে।


অবজেক্টের মধ্যে ফাংশন সংজ্ঞায়িত করা

CoffeeScript-এ আপনি অবজেক্টের মধ্যে ফাংশনও সংজ্ঞায়িত করতে পারেন। এটি JavaScript-এর মতোই কাজ করে, তবে CoffeeScript সিনট্যাক্স আরও সহজ।

উদাহরণ:

person =
  name: "Alice"
  greet: ->
    console.log "Hello, #{@name}"

person.greet()  # "Hello, Alice"

JavaScript-এ কম্পাইল হওয়া কোড:

var person;
person = {
  name: "Alice",
  greet: function() {
    return console.log("Hello, " + this.name);
  }
};
person.greet();  // "Hello, Alice"

এখানে greet একটি মেথড যা name প্রপার্টির মান ব্যবহার করে একটি বার্তা প্রদর্শন করে।


অবজেক্টের মধ্যে প্যারামিটারাইজড ফাংশন ব্যবহার

CoffeeScript-এ আপনি অবজেক্টের মধ্যে প্যারামিটার নেওয়া ফাংশনও সংজ্ঞায়িত করতে পারেন।

উদাহরণ:

person =
  name: "Alice"
  greet: (greeting) ->
    console.log "#{greeting}, #{@name}"

person.greet("Good Morning")  # "Good Morning, Alice"

JavaScript-এ কম্পাইল হওয়া কোড:

var person;
person = {
  name: "Alice",
  greet: function(greeting) {
    return console.log(greeting + ", " + this.name);
  }
};
person.greet("Good Morning");  // "Good Morning, Alice"

এখানে greet ফাংশন একটি প্যারামিটার গ্রহণ করে এবং সেটি ব্যবহার করে একটি কাস্টমাইজড বার্তা প্রদর্শন করে।


অবজেক্টে নেস্টেড অবজেক্ট ব্যবহার

CoffeeScript-এ আপনি অবজেক্টের মধ্যে অন্য অবজেক্টও রাখতে পারেন, যা JavaScript-এও সম্ভব।

উদাহরণ:

person =
  name: "Alice"
  address: 
    city: "New York"
    zip: "10001"

console.log person.address.city  # "New York"

JavaScript-এ কম্পাইল হওয়া কোড:

var person;
person = {
  name: "Alice",
  address: {
    city: "New York",
    zip: "10001"
  }
};
console.log(person.address.city);  // "New York"

এখানে person.address.city দ্বারা নেস্টেড অবজেক্টের প্রপার্টি অ্যাক্সেস করা হয়েছে।


সারাংশ

CoffeeScript-এ অবজেক্ট তৈরি এবং ম্যানিপুলেশন খুবই সহজ এবং JavaScript-এ রূপান্তরিত হলে তা পরিষ্কার এবং কার্যকর হয়। আপনি অবজেক্টের মধ্যে কী-ভ্যালু জোড়া সংজ্ঞায়িত করতে পারেন, প্রপার্টি অ্যাক্সেস করতে পারেন, প্রপার্টি মুছে ফেলতে পারেন, এবং অবজেক্টে ফাংশনও সংজ্ঞায়িত করতে পারেন। CoffeeScript এর সরল সিনট্যাক্স কোড লেখাকে আরও দ্রুত, পরিষ্কার এবং ত্রুটিহীন করে তোলে।

Content added By

CoffeeScript-এ ডেস্ট্রাকচারিং একটি শক্তিশালী বৈশিষ্ট্য যা আপনাকে অ্যারে (Array) এবং অবজেক্ট (Object) থেকে সরাসরি মান বের করে আনার সুবিধা দেয়। এটি কোডকে আরও পরিষ্কার, সংক্ষিপ্ত এবং পাঠযোগ্য করে তোলে। এখানে অ্যারে এবং অবজেক্ট ডেস্ট্রাকচারিং এর ব্যবহার ও উদাহরণ নিয়ে বিস্তারিত আলোচনা করা হলো।


১. Array ডেস্ট্রাকচারিং

CoffeeScript-এ অ্যারে ডেস্ট্রাকচারিং দিয়ে একটি অ্যারের উপাদানগুলোকে ভেরিয়েবলে সরাসরি অ্যাসাইন করা যায়। এটি একটি সাধারণ অ্যারে থেকে একাধিক মান বের করার জন্য ব্যবহৃত হয়।

উদাহরণ:

numbers = [1, 2, 3]

[first, second, third] = numbers
console.log first   # 1
console.log second  # 2
console.log third   # 3

JavaScript-এ কম্পাইল হওয়া কোড:

var numbers = [1, 2, 3];

var first = numbers[0], second = numbers[1], third = numbers[2];
console.log(first);   // 1
console.log(second);  // 2
console.log(third);   // 3

এখানে, first, second, এবং third ভেরিয়েবলগুলোকে অ্যারে numbers থেকে মানগুলো ডেস্ট্রাকচারিং করে অ্যাসাইন করা হয়েছে।


২. অ্যারে ডেস্ট্রাকচারিং সহ ডিফল্ট মান

আপনি যদি অ্যারে ডেস্ট্রাকচারিংয়ের সময় কোনো মান না পান, তবে আপনি ডিফল্ট মান প্রদান করতে পারেন।

উদাহরণ:

numbers = [1]

[first, second = 10] = numbers
console.log first   # 1
console.log second  # 10 (ডিফল্ট মান)

JavaScript-এ কম্পাইল হওয়া কোড:

var numbers = [1];

var first = numbers[0], second = numbers[1] !== undefined ? numbers[1] : 10;
console.log(first);   // 1
console.log(second);  // 10 (ডিফল্ট মান)

এখানে, যদি second এর জন্য কোনো মান না থাকে, তাহলে second = 10 দ্বারা ডিফল্ট মান প্রদান করা হয়েছে।


৩. Object ডেস্ট্রাকচারিং

Object ডেস্ট্রাকচারিং CoffeeScript-এ আপনাকে অবজেক্টের প্রপার্টি থেকে সরাসরি ভ্যালু বের করতে দেয়।

উদাহরণ:

person = 
  name: "Alice"
  age: 30
  city: "New York"

{name, age} = person
console.log name  # "Alice"
console.log age   # 30

JavaScript-এ কম্পাইল হওয়া কোড:

var person = {
  name: "Alice",
  age: 30,
  city: "New York"
};

var name = person.name, age = person.age;
console.log(name);  // "Alice"
console.log(age);   // 30

এখানে, name এবং age অবজেক্ট person থেকে সরাসরি ডেস্ট্রাকচারিং করে বের করা হয়েছে।


৪. অবজেক্ট ডেস্ট্রাকচারিং সহ ডিফল্ট মান

যেমন অ্যারে ডেস্ট্রাকচারিংয়ে ডিফল্ট মান দেওয়া যায়, তেমনই অবজেক্ট ডেস্ট্রাকচারিংয়ে প্রতিটি প্রপার্টির জন্য ডিফল্ট মান প্রদান করা যেতে পারে।

উদাহরণ:

person = 
  name: "Alice"

{name, age = 25} = person
console.log name  # "Alice"
console.log age   # 25 (ডিফল্ট মান)

JavaScript-এ কম্পাইল হওয়া কোড:

var person = {
  name: "Alice"
};

var name = person.name, age = person.age !== undefined ? person.age : 25;
console.log(name);  // "Alice"
console.log(age);   // 25 (ডিফল্ট মান)

এখানে, যদি person অবজেক্টে age প্রপার্টি না থাকে, তবে age = 25 দ্বারা ডিফল্ট মান প্রদান করা হয়েছে।


৫. অবজেক্ট ডেস্ট্রাকচারিং এবং নতুন ভেরিয়েবল নাম

কখনও কখনও আপনি চাইবেন যে অবজেক্ট থেকে ডেস্ট্রাকচারিং করা প্রপার্টির নাম ভিন্ন ভ্যারিয়েবল নামের সাথে মেলে। এই ক্ষেত্রে আপনি আলাদা নাম দিতে পারেন।

উদাহরণ:

person = 
  name: "Alice"
  age: 30

{ name: fullName, age: years } = person
console.log fullName  # "Alice"
console.log years     # 30

JavaScript-এ কম্পাইল হওয়া কোড:

var person = {
  name: "Alice",
  age: 30
};

var fullName = person.name, years = person.age;
console.log(fullName);  // "Alice"
console.log(years);     // 30

এখানে, name প্রপার্টি fullName এবং age প্রপার্টি years নামে ডেস্ট্রাকচারিং হয়েছে।


সারাংশ

CoffeeScript-এ Array এবং Object ডেস্ট্রাকচারিং খুবই শক্তিশালী এবং সহজ উপায়ে মান বের করার জন্য ব্যবহৃত হয়। এটি কোড লেখার সময় আরও পরিষ্কার এবং সংক্ষিপ্ত করে তোলে। অ্যারে বা অবজেক্ট থেকে একাধিক মান বের করার জন্য আপনি ডেস্ট্রাকচারিং ব্যবহার করতে পারেন এবং ডিফল্ট মান, নতুন ভ্যারিয়েবল নাম ব্যবহার করতে পারেন, যা কোডিং অভিজ্ঞতাকে অনেক সহজ ও দ্রুত করে তোলে।

Content added By

CoffeeScript, যা মূলত JavaScript-এ কম্পাইল হয়, JavaScript-এর মতোই map, filter, এবং reduce ফাংশন ব্যবহার করে ডাটা প্রসেসিং করার জন্য খুবই কার্যকর। এই ফাংশনগুলো অ্যারে (Array) থেকে বিভিন্ন উপায়ে মান বের করতে বা পরিবর্তন করতে সাহায্য করে। CoffeeScript-এ এগুলো ব্যবহার করা অনেকটা সহজ এবং সরল।


১. Map ফাংশন

map ফাংশন একটি নতুন অ্যারে তৈরি করে যেখানে প্রতিটি উপাদান একটি নির্দিষ্ট ফাংশন দ্বারা প্রক্রিয়া করা হয়। এটি মূল অ্যারের কোন উপাদান পরিবর্তন না করে একটি নতুন অ্যারে প্রদান করে।

উদাহরণ:

numbers = [1, 2, 3, 4, 5]
squares = numbers.map (x) -> x * x
console.log squares

আউটপুট:

[1, 4, 9, 16, 25]

এখানে, map ফাংশনটি প্রতি সংখ্যাকে বর্গফল হিসেব করে একটি নতুন অ্যারে তৈরি করেছে।

JavaScript-এ কম্পাইল হওয়া:

var numbers, squares;

numbers = [1, 2, 3, 4, 5];
squares = numbers.map(function(x) {
  return x * x;
});
console.log(squares);

২. Filter ফাংশন

filter ফাংশন একটি নতুন অ্যারে তৈরি করে যা শুধুমাত্র সেই উপাদানগুলো রাখে যা একটি নির্দিষ্ট শর্ত পূর্ণ করে। এটি মূল অ্যারের কোনো উপাদান পরিবর্তন না করে একটি নতুন অ্যারে প্রদান করে।

উদাহরণ:

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = numbers.filter (x) -> x % 2 == 0
console.log even_numbers

আউটপুট:

[2, 4, 6]

এখানে, filter ফাংশনটি শুধুমাত্র সেই উপাদানগুলো রাখছে যেগুলি x % 2 == 0 শর্ত পূর্ণ করে, অর্থাৎ যেগুলি সঠিকভাবে সেজন্য even (জোড়) সংখ্যা।

JavaScript-এ কম্পাইল হওয়া:

var numbers, even_numbers;

numbers = [1, 2, 3, 4, 5, 6];
even_numbers = numbers.filter(function(x) {
  return x % 2 === 0;
});
console.log(even_numbers);

৩. Reduce ফাংশন

reduce ফাংশন একটি অ্যারে থেকে একক মান উৎপন্ন করতে ব্যবহৃত হয়। এটি প্রতিটি উপাদানকে একত্রিত করে একটি একক মান তৈরি করে, সাধারণত সমষ্টি, গড়, বা অন্যান্য গণনা করার জন্য ব্যবহৃত হয়।

উদাহরণ:

numbers = [1, 2, 3, 4, 5]
sum = numbers.reduce (acc, x) -> acc + x, 0
console.log sum

আউটপুট:

15

এখানে, reduce ফাংশনটি অ্যারের সব উপাদানের যোগফল হিসেব করেছে, যেখানে acc হলো আগের ফলাফল এবং x হলো বর্তমান উপাদান। আমরা 0 মান দিয়ে শুরু করেছি, অর্থাৎ প্রথমে যোগফল শূন্য থেকে শুরু হবে।

JavaScript-এ কম্পাইল হওয়া:

var numbers, sum;

numbers = [1, 2, 3, 4, 5];
sum = numbers.reduce(function(acc, x) {
  return acc + x;
}, 0);
console.log(sum);

CoffeeScript-এ Map, Filter, Reduce ব্যবহার সম্পর্কিত আরো কিছু উদাহরণ

১. Map ব্যবহার করে নতুন অবজেক্ট তৈরি করা

persons = [{name: "Alice", age: 25}, {name: "Bob", age: 30}]
names = persons.map (person) -> person.name
console.log names

আউটপুট:

["Alice", "Bob"]

এখানে, map ফাংশনটি persons অ্যারের প্রতিটি অবজেক্ট থেকে শুধু নাম বের করেছে এবং একটি নতুন অ্যারে তৈরি করেছে।

২. Filter ব্যবহার করে মান ফিল্টার করা

persons = [{name: "Alice", age: 25}, {name: "Bob", age: 30}, {name: "Charlie", age: 35}]
adults = persons.filter (person) -> person.age >= 30
console.log adults

আউটপুট:

[{name: "Bob", age: 30}, {name: "Charlie", age: 35}]

এখানে, filter ফাংশনটি ৩০ বছরের বেশি বয়সী মানুষগুলোকে ফিল্টার করে।

৩. Reduce ব্যবহার করে অ্যারের উপাদান একত্রিত করা

numbers = [1, 2, 3, 4]
product = numbers.reduce (acc, x) -> acc * x, 1
console.log product

আউটপুট:

24

এখানে, reduce ফাংশনটি অ্যারের সব উপাদানের গুণফল হিসেব করেছে, যেখানে acc হলো আগের ফলাফল এবং x হলো বর্তমান উপাদান। আমরা 1 মান দিয়ে শুরু করেছি, অর্থাৎ প্রথমে গুণফল ১ থেকে শুরু হবে।


সারাংশ

  • Map: অ্যারের প্রতিটি উপাদানের উপর একটি নির্দিষ্ট ফাংশন প্রয়োগ করে একটি নতুন অ্যারে তৈরি করে।
  • Filter: একটি শর্ত অনুযায়ী অ্যারের উপাদানগুলো ফিল্টার করে একটি নতুন অ্যারে তৈরি করে।
  • Reduce: অ্যারের সব উপাদান একত্রিত করে একটি একক মান তৈরি করে (যেমন যোগফল বা গুণফল)।

CoffeeScript-এ map, filter, এবং reduce ফাংশনগুলো অত্যন্ত শক্তিশালী এবং এগুলো ডাটা প্রসেসিংকে আরও সহজ এবং কার্যকরী করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...