আপডেট (24 নভেম্বর, 2015):
এই উত্তরটি মূলত ২০১০ সালে পোস্ট করা হয়েছে (ষাট বছর আগের) so সুতরাং দয়া করে এই অন্তর্দৃষ্টিপূর্ণ মন্তব্যগুলির জন্য নোট করুন:
মূল উত্তর:
আমি জানি এটি একটি বছরের পুরানো প্রশ্ন ... তবে আমার এটিও দরকার এবং ক্রস ব্রাউজারে কাজ করাও আমার প্রয়োজন তাই ... প্রত্যেকের উত্তর এবং মন্তব্যগুলিকে একত্রিত করে কিছুটা সরল করে তোলা:
String.prototype.endsWith = function(suffix) {
return this.indexOf(suffix, this.length - suffix.length) !== -1;
};
- সাবস্ট্রিং তৈরি করে না
- নেটিভ ব্যবহার করে
indexOf
দ্রুত ফলাফলের জন্য ফাংশন ব্যবহার করে
- দ্বিতীয় প্যারামিটার ব্যবহার করে অপ্রয়োজনীয় তুলনা ছেড়ে যান
indexOf
এগিয়ে এড়াতে এড়িয়ে যান
- ইন্টারনেট এক্সপ্লোরারে কাজ করে
- কোন রেজেক্স জটিলতা
এছাড়াও, যদি আপনি দেশীয় ডেটা স্ট্রাকচারের প্রোটোটাইপগুলিতে স্টাফিং পছন্দ না করেন তবে এখানে একটি স্বতন্ত্র সংস্করণ:
function endsWith(str, suffix) {
return str.indexOf(suffix, str.length - suffix.length) !== -1;
}
সম্পাদনা: মন্তব্যগুলিতে @ হ্যামিশ দ্বারা উল্লিখিত হিসাবে, আপনি যদি নিরাপদ দিক থেকে ভুল করতে চান এবং কোনও প্রয়োগ ইতিমধ্যে সরবরাহ করা হয়েছে কিনা তা পরীক্ষা করতে চান, আপনি ঠিক তেমন একটি typeof
চেক যোগ করতে পারেন:
if (typeof String.prototype.endsWith !== 'function') {
String.prototype.endsWith = function(suffix) {
return this.indexOf(suffix, this.length - suffix.length) !== -1;
};
}