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
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"];

 

উদাহরন
  • find(),
    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 }
    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 }
    const arr = [0, -1, 2];
    
    function test(...arr) {
      const element = arr.find((element, index) => element === arr[index]);
      console.log(element); // 0
    }
    
    test(...arr);
  • fill(),
    const fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.fill("Kiwi",2,4);
    
    console.log(fruits);
    
    //["Banana", "Orange", "Kiwi", "Kiwi"];
    const arr = [1, 2, 3, 4];
    
    console.log(arr.fill(0, 2, 4)); // [ 1, 2, 0, 0 ]

     

এসো নিজে করি
  • নিচের কোডের আউটপুট কি হবে?
    function findTest(arr, num) {
      return arr.find((e, index) => e === num && e === index);
    }
    
    console.log(findTest([0, 1, 2, 3], 0));
    console.log(findTest([0, 1, 2, 3], 4));
  • নিচের কোডের আউটপুট কি হবে?
    const arr = [0, 1, 2];
    
    arr.fill(
      -1,
      arr.find((element, index) => element === index),
      arr.length
    );
    
    console.log(arr);
  • নিচের কোডের আউটপুট কি হবে?
    const arr = Array(3).fill({});
    arr[0].name = "sania";
    arr[1] = {
      job: "swe",
    };
    console.log(arr);
  • নিচের কোডের আউটপুট কি হবে?
    const arr = [0, 1, 2];
    arr.fill(0, 1, 2);
    console.log(arr);
  • নিচের কোডের আউটপুট কি হবে?
    const arr = [0, 1, 2];
    arr.fill(0, 1);
    console.log(arr);