8.5 find, fill

 

জাভাস্ক্রিপ্টে Find মেথড:

ফাইন্ড মেথড একটি array এর সেই প্রথম আইটেমকে রিটার্ন করে যেটা ফাইন্ড মেথড এ দেয়া আর্গুমেন্ট function কে true করে।

সিনটেক্স:
find((element) => { /* ... */ } )

 

উদাহরণ দেখলে আমরা ব্যাপারটা ভাল ভাবে বুঝতে পারবো।

উদাহরণ ১:
const numbers = [3, 10, 18, 20];
function checkNumber(num) {
   return age > 18;
}
console.log(numbers.find(checkNumber));       //20
উদাহরণ ২:
const inventory = [
   {name: 'apples', quantity: 2},
   {name: 'bananas', quantity: 0},
   {name: 'cherries', quantity: 5}
];
function isCherries(fruit) {
   return fruit.name === 'cherries';
}
console.log(inventory.find(isCherries));

// { name: 'cherries', quantity: 5 }
উদাহরণ ৩: (অ্যারো ফাঙ্কশন এবং destructuring ব্যবহার  করে)
const inventory = [
   {name: 'apples', quantity: 2},
   {name: 'bananas', quantity: 0},
   {name: 'cherries', quantity: 5}
];
const result = inventory.find( ({ name }) => name === 'cherries' );

console.log(result)      // { name: 'cherries', quantity: 5 }

 

Find মেথড এর কিছু বৈশিষ্ট্য আছে:
  1. এটা array এর প্রথম আইটেম কে রিটার্ন করবে যেটা pass করা ফাংশনকে ট্রু (true) করবে।
  2. এটা প্রত্যেক array আইটেম এর জন্য ফাংশন execute করবে।
  3. এটা undefined রিটার্ন করবে যদি কোনো আইটেম না পায়।
  4. এটা empty এলিমেন্ট এর জন্য ফাংশন  execute করবেনা।
  5. এটা অরিজিনাল array কে বদল করবেনা।

 

জাভাস্ক্রিপ্টে Fill মেথড:

Fill মেথড তার প্যারামিটার এ দেয়া ভ্যালু দিয়ে array এর সব এলিমেন্ট কে রিপ্লেস করে। আর যদি আমরা দ্বিতীয় এবং তৃতীয় প্যারামিটার এ length বলে দেই, তাহলে শুধু ঐ রেঞ্জ এর ইটেমগুলা রিপ্লেস করবে। এটা খুবই সিম্পল মেথড। যেমনঃ

উদাহরণ ১:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.fill("Kiwi");
console.log(fruits);

//["Kiwi", "Kiwi", "Kiwi", "Kiwi"];

 

উদাহরণ ২:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.fill("Kiwi",2,4);
console.log(fruits);

//["Banana", "Orange", "Kiwi", "Kiwi"];