JavaScript indexOf() মেথড

JavaScript indexOf() মেথড: একটি পূর্ণাঙ্গ বাংলা টিউটোরিয়াল

indexOf() হলো একটি বিল্ট-ইন জাভাস্ক্রিপ্ট মেথড যা একটি string অথবা array-এর ভিতরে কোনো নির্দিষ্ট উপাদানের অবস্থান (index) খুঁজে বের করতে ব্যবহৃত হয়। এটি সেই উপাদানের প্রথম occurrence এর index প্রদান করে। যদি উপাদানটি না পাওয়া যায়, তাহলে এটি -1 রিটার্ন করে।

indexOf() এর মৌলিক সিনট্যাক্স

<array>.indexOf(element, start)
  • element: যেটিকে আপনি খুঁজতে চান।
  • start: ঐচ্ছিক। কোন index থেকে খোঁজা শুরু হবে তা নির্ধারণ করে।

একটি সহজ উদাহরণ (Array এর উপর ভিত্তি করে)

<script>
const fruits = [“apple”, “banana”, “mango”, “banana”];
const index = fruits.indexOf(“banana”);
console.log(index); // আউটপুট: 1
</script>

উপরের কোডে “banana” দুইবার আছে, কিন্তু indexOf() প্রথমবারের অবস্থান (index 1) রিটার্ন করে।

indexOf() স্ট্রিং এর ক্ষেত্রেও কাজ করে

<script>
const text = “বাংলাদেশের রাজধানী ঢাকা”;
const position = text.indexOf(“ঢাকা”);
console.log(position); // আউটপুট: 15
</script>

এখানে “ঢাকা” শব্দটি স্ট্রিং-এ ১৫ নম্বর অবস্থানে শুরু হয়েছে।

indexOf() এর Behavior Table

উদাহরণ ফলাফল
[“a”, “b”, “c”].indexOf(“b”) 1
[“x”, “y”].indexOf(“z”) -1
[“js”, “php”, “js”].indexOf(“js”, 1) 2

Loop এর মধ্যে indexOf() ব্যবহার

আমরা যদি কোনো উপাদান একটি অ্যারেতে আছে কিনা যাচাই করতে চাই, indexOf() অনেক সহজ একটি উপায়। নিচে একটি উদাহরণ দেওয়া হলো:

<script>
const items = [“pen”, “pencil”, “eraser”];
if (items.indexOf(“pen”) !== -1) {
console.log(“pen পাওয়া গেছে”);
} else {
console.log(“pen পাওয়া যায়নি”);
}
</script>

⚠️ indexOf() এর সীমাবদ্ধতা

  • এটি শুধুমাত্র প্রথম ম্যাচ খোঁজে, পরবর্তী মিলগুলি উপেক্ষা করে।
  • স্ট্রিক্ট সমতা (===) অনুসরণ করে। অর্থাৎ 2 এবং "2" আলাদা ধরা হয়।
  • Nested array বা অবজেক্ট খুঁজতে indexOf() উপযুক্ত নয়।

indexOf() এর বিকল্প: includes() মেথড

includes() মেথড শুধু true বা false রিটার্ন করে, কোনো index দেয় না:

<script>
const names = [“rahim”, “karim”, “hasan”];
console.log(names.includes(“karim”)); // true
</script>

উপসংহার

JavaScript এর indexOf() মেথড খুবই উপযোগী যখন আপনি চান কোনো নির্দিষ্ট উপাদান একটি অ্যারে বা স্ট্রিং-এ আছে কিনা এবং কোথায় আছে তা নির্ধারণ করতে। এটি দ্রুত এবং সহজবোধ্য, তবে জটিল ডেটা গঠন (object বা nested array) এর জন্য এটি সঠিক নয়। সেক্ষেত্রে আপনাকে loop অথবা find() মেথড ব্যবহার করতে হতে পারে।

 

Leave a Reply