আজ, আরেকটা জাভাস্ক্রিপ্ট অ্যারে পদ্ধতি দেখে নেওয়া যাক, যা হল some()
পদ্ধতি। আমরা শিখব কিভাবে some()
পদ্ধতি ব্যবহার করে একটি আইটেম একটি অ্যারেতে বিদ্যমান কিনা তা নির্ধারণ করতে হয়।
বরাবরের মতো, এই নিবন্ধের কোড উদাহরণগুলি জাভাস্ক্রিপ্ট ভাষায় লেখা হয়েছে। তাই সঠিকভাবে বোঝার জন্য ভাষার জ্ঞান প্রয়োজন। আর কোনো ঝামেলা ছাড়াই, এর মধ্যে ডুব দেওয়া যাক।
some()
পদ্ধতি কি?Javascript some() পদ্ধতি নির্ধারণ করে যে কমপক্ষে একজন অ্যারে সদস্য প্রদত্ত ফাংশন দ্বারা সংজ্ঞায়িত পরীক্ষাটি সন্তুষ্ট করে কিনা। এটি সত্য রিটার্ন করে যদি এটি অ্যারেতে এমন একটি উপাদান খুঁজে পায় যার জন্য নির্দিষ্ট ফাংশনটি সত্য প্রদান করে; অন্যথায়, এটি মিথ্যা ফেরত দেয়। এটি অ্যারেতে কোন পরিবর্তন করে না।
এই পদ্ধতিটি আরও ভালভাবে বোঝার জন্য আসুন এই কোড স্নিপেটটি পর্যালোচনা করি:
const basket = ["oranges", "apples", "pineapple", "yam"] basket.some(bas => bas.length === 3) // true basket.some(bas => bas.length <= 1) // false
আমরা কেবল ঝুড়ি অ্যারেতে ফলের দৈর্ঘ্য 3 এর সমান কিনা তা পরীক্ষা করার চেষ্টা করি। অন্তত অ্যারেতে, একজন সদস্য এই পরীক্ষাটি মেনে চলে; এই ক্ষেত্রে এটি "yam"। আমাদের প্রত্যাশিত ফলাফল সত্য হবে. দ্বিতীয় শর্তটি পরীক্ষা করে যে কোন ফলের দৈর্ঘ্য 1 এর চেয়ে কম বা সমান আছে কিনা। এর ফলে একটি মিথ্যা হবে কারণ আমাদের স্পষ্টতই 1 এর থেকে কম বা সমান কোন দৈর্ঘ্য নেই।
some()
পদ্ধতি ব্যবহার করব?জাভাস্ক্রিপ্ট some() পদ্ধতি ব্যবহার করা সহজ; কিভাবে, তা আমাকে দেখাতে দাও.
সিনট্যাক্স কিভাবে লেখা হয় তা বোঝার মাধ্যমে শুরু করা যাক।
সিনট্যাক্সটি কেবল 'কিছু' শব্দটিকে একটি বন্ধনী '()' দিয়ে ঘিরে রেখে লেখা হয়:
some()
যেহেতু এটি একটি পদ্ধতি, এটি আর্গুমেন্ট গ্রহণ করে, যা কিছু() পদ্ধতি ব্যবহার করে আপনি একটি অ্যারের সাথে কী করতে পারেন তার উপর আপনাকে আরও নমনীয়তা দেয়।
অনুসরণ হিসাবে তারা:
এলিমেন্ট প্যারামিটার বর্তমান উপাদান নির্দেশ করে যেটি অ্যারেতে প্রক্রিয়া করা হচ্ছে।
সূচকটি বর্তমান উপাদানটির সূচী যা অ্যারেতে প্রক্রিয়া করা হয়েছে।
এটি সেই অ্যারে যাকে আমরা some() মেথড বলি।
এখন আমরা সিনট্যাক্স বুঝতে পেরেছি, আসুন দেখি সম্পূর্ণ পদ্ধতিটি কেমন দেখায়।
some((element, index, array) => { /*... */ })
আপনি দেখতে পাচ্ছেন, উপরের কোড স্নিপেটে আমাদের তিনটি প্যারামিটার রয়েছে, যা এই পদ্ধতিটি কীভাবে তৈরি করতে হয় তার একটি স্পষ্ট উদাহরণ প্রদান করে।
আপনার প্রয়োজনের উপর নির্ভর করে, আপনি নির্দিষ্ট বৈশিষ্ট্যগুলি এড়িয়ে যেতে পারেন। সূচকের মতো, আপনি যদি অ্যারের সম্পর্কে অতিরিক্ত বিবরণ চান তবে আপনি এটিকে বিকল্পগুলির একটি হিসাবে অফার করতে পারেন। সমস্ত মানদণ্ড সবসময় অন্তর্ভুক্ত করতে হবে না।
জাভাস্ক্রিপ্ট লেখার তিনটি সাধারণ উপায় নিম্নরূপ:
তীর ফাংশনটি ES6-তে চালু করা হয়েছিল, যা ঐতিহ্যগত ফাংশন দ্বারা সম্মুখীন কিছু সমস্যার সমাধান করার চেষ্টা করে। এই ফাংশনটি কিছু() পদ্ধতির সাথেও ব্যবহার করা যেতে পারে:
some((element, index, array) => { /*... */ })
আমাদের কিছু () পদ্ধতিতে কলব্যাক ফাংশনটি ভেরিয়েবলে সংরক্ষণ না করে লেখার ক্ষমতা রয়েছে।
const basket = ["oranges","apples","pineapple","yam"] const result = basket.some(function (element, index, array)) { return element.length >= 7 }) console.log(result)
এই স্টাইলটি প্রথমে ফাংশনটি ঘোষণা করে এবং এটিকে একটি ভেরিয়েবলে সংরক্ষণ করে লেখা যেতে পারে, তারপর এটিকে some() পদ্ধতিতে কলব্যাক হিসাবে পাস করে, যেমন:
const basket = ["oranges","apples","pineapple","yam"] function callBack(bas){ return bas.length === 7 } const result = basket.some(callBack) console.log(result)
ফর্ম জমাগুলি প্রক্রিয়া করার সময়, some()
ফাংশনটি কোন ইনপুট ক্ষেত্রগুলি নির্দিষ্ট প্রয়োজনীয়তাগুলি পূরণ করে তা নির্ধারণ করতে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, আপনি যাচাই করতে পারেন যে কোনও ইনপুটে বৈধ ইমেল ঠিকানা রয়েছে বা কমপক্ষে একটি প্রয়োজনীয় ক্ষেত্র পূরণ করা হয়েছে।
আমি আপনাকে এটি দেখতে কেমন হতে পারে তার একটি উদাহরণ দেব।
const formInputs = document.querySelectorAll('input'); const isAnyInputEmpty = Array.from(formInputs).some(input => input.value === ''); if (isAnyInputEmpty) { console.log('Please fill in all required fields.'); } else { console.log('Form submitted successfully.'); }
কোড নমুনায়, আমরা নিশ্চিত করি যে ব্যবহারকারী একটি খালি ক্ষেত্র জমা দেবেন না; আমরা তাদের অবহিত করতে চাই যদি তারা অবিলম্বে এটি ফাঁকা রাখে। এবং যদি তারা কমপক্ষে প্রাসঙ্গিক ডেটা জমা দিয়ে প্রয়োজনীয়তা পূরণ করে, আমরা জমাটি পরিচালনা করতে চাই।
যদি আমাদের ওয়েব অ্যাপ্লিকেশনে পণ্যের একটি কার্ট বা ডেটা স্ট্রাকচার থাকে, তাহলে আমরা নির্দিষ্ট পণ্য বিদ্যমান কিনা তা নির্ধারণ করতে কিছু() ব্যবহার করতে পারি। এটি বিশেষভাবে সহায়ক যখন আমরা একটি আইটেম উপস্থিত আছে কি না তার উপর ভিত্তি করে কিছু ক্রিয়া সম্পাদন করতে চাই। আসুন এই কোড নমুনাটি দেখুন যা এটি আরও ভালভাবে ব্যাখ্যা করে।
const shoppingCart = ['shoes', 'T-shirt', 'trouser']; const itemPresent = shoppingCart.some(item => item === 'trouser'); if (itemPresent){ console.log('Product exists in the cart.') } else { console.log('Product does not exist in the cart.') }
আমরা শপিং কার্টে 'ট্রাউজার' আছে কিনা তা পরীক্ষা করি। আমরা কনসোলে লগ ইন করি যখন আমরা নিশ্চিত করি এটি কার্টে আছে।
ব্যবহারকারীর প্রমাণীকরণ এবং অনুমোদন ব্যবস্থা প্রয়োগ করার সময়, আমরা কিছু() ব্যবহার করে পরীক্ষা করতে পারি যে একজন ব্যবহারকারীর অন্তত একটি প্রয়োজনীয় অনুমতি আছে কি না বা নির্দিষ্ট কোনো ভূমিকার অন্তর্গত। এটি আমাদের নির্দিষ্ট কার্যকারিতা বা সংস্থানগুলিতে অ্যাক্সেস নিয়ন্ত্রণ করতে দেয়।
const userRoles = ['admin', 'editor']; const permissions = ['admin', 'moderator']; const hasRequiredRole = permissions.some(role => userRoles.includes(role)); if (hasRequiredRole){ console.log('Access granted.') } else { console.log('Access denied.'); }
কোড নমুনায়, আমরা ব্যবহারকারীর ভূমিকার উপর ভিত্তি করে অনুমতি দেওয়ার জন্য অন্তর্ভুক্ত() এবং কিছু() পদ্ধতির সংমিশ্রণ ব্যবহার করেছি। যদি একজন ব্যবহারকারীর ভূমিকা প্রয়োজনীয় অনুমতির সাথে সারিবদ্ধ হয়, আমরা তাদের অ্যাক্সেস প্রদান করি; অন্যথায়, আমরা তাদের অ্যাক্সেস অস্বীকার করি।
একটি চূড়ান্ত নোটে, জাভাস্ক্রিপ্ট কিছু() পদ্ধতি পরীক্ষার শর্তগুলির জন্য ব্যবহার করা হয়। এটি মূল অ্যারে পরিবর্তন করে না। তারা তিনটি পরামিতি গ্রহণ করে: এলিমেন্ট, ইনডেক্স এবং অ্যারে', যেখানে এলিমেন্ট প্যারামিটার বর্তমান এলিমেন্টকে নির্দেশ করে যা অ্যারেতে প্রসেস করা হচ্ছে এবং ইনডেক্স প্যারামিটার হল বর্তমান এলিমেন্টের "ইনডেক্স" যা অ্যারেতে প্রসেস করা হয়েছে।
জাভাস্ক্রিপ্টের অ্যারে পদ্ধতির আমার পর্যালোচনা পড়ার জন্য ধন্যবাদ, বিশেষ করে কিছু() পদ্ধতি। আপনি ব্যাখ্যা সম্পর্কে কি মনে করেন? আপনি এটি একটি চেষ্টা করা হবে?
নীচের মন্তব্যে আপনার চিন্তাভাবনা আমাকে জানান এবং ভবিষ্যতের নিবন্ধগুলির জন্য আমাকে হ্যাকারনুন-এ অনুসরণ করুন ।