Linear Search by JavaScript লিনিয়ার সার্চ (জাভাস্ক্রিপ্ট)

আমরা সাধারণত সার্চিং বা সার্চ বলতে কোন কিছু কে খুজে বাহির করাকে বুঝে থাকি। কম্পিউটার এর ভাষায় সার্চিং এর একটা উপায় হলো লিনিয়ার সার্চ।

লিনিয়ার সার্চ করার জন্য কোন পূর্ব শর্ত নেই, আমরা সাধারণত অ্যাারে উপাদানের মধ্যে সার্চ করে থাকি। এ ক্ষেত্রে অ্যাারে এর অর্ডার কোন বিষয় নয়।

ধরা যাক আমাদের একটা অ্যাারে আছে array নামে। এই অ্যাারে থেকে আমরা নির্দিষ্ট কোন নাম্বার কে খুজে বাহির করব (হতে পারে নাম্বারটি থাকতেও পারে আবার নাও থাকতে পারে)। নিচের কোডের দিকে থাকালে আমরা দেখতে পাবো যে এখানে একটা অ্যাারের উপদান থেক কোন target ভ্যালু খুজার জন্য কোড লিখা আছে (যেটা লিনিয়ার সার্চ ইমপ্লিমেন্ট করে করা হয়েছে)।

কিভাবে কোডটি কাজ করবেঃ

আমরা একটি findTargetValue নামে ফাংশন নিয়েছি যেটা প্যারামিটার হিসাবে একটি অ্যাারে এবং একটি টার্গেট নাম্বার নেয় (নাম্বার কে ওই অ্যাারে থেক খুজে বাহির করবে)।

const array = [21, 32, 4, 54, 44, 23, 12, 78, 90, 78];

// find here any target value that is exist in the array or not exist

function findTargetValue(array, target) {
    for (let i = 0; i < array.length; i++) {
        // here we get a single value from the array by index number[i]
        if (array[i] === target) {
            // if enter the condition we found the target value and return
            return `the target value found index: ${array[i]} `;
        }
    }
    // if target is not exist then return from out of the loop
    return "The target value not found in the array";
}

console.log(findTargetValue(array, 44)); // the target value found 4

প্রথমে আমরা একটা লুপ চালাবো যেটা ০ থেক অ্যারে এর length পর্যন্ত চলবে। লুপের ভিতরে আমরা একটা কন্ডিশন দিয়েছি যেটা প্রতিবার অ্যারে এর ইন্ডেক্স দিয়ে পাসকৃত টার্গেট ভ্যালুর সাথে মিলিয়ে চেক করতেছে যে সমান কি না , যদি সমান হয় তাহলে কন্ডিশন সত্য হবে এবং ভিতরে ঢুকবে ফানালি রিটার্ন করে দিবে যে টার্গেট ভ্যালু পেয়ে গেছি।(ভ্যালু পেয়ে গেলে আর লুপ চালানোর দরকার নেই তাই আমরা লুপটাকে return করে দিয়েছি)।

আর যদি টার্গেট ভ্যালুকে অ্যাারেতে খুজে না পায় তাহলে আমরা লুপের বাহিরে গিয়ে return করে দিয়েছি যে ভ্যালু পাওয়া যায় নি।

ধন্যবাদ ।