এই কোডটি ইন্টারনেট এক্সপ্লোরারটিতে কাজ করে না। কোন বিকল্প?
"abcde".includes("cd")
এই কোডটি ইন্টারনেট এক্সপ্লোরারটিতে কাজ করে না। কোন বিকল্প?
"abcde".includes("cd")
উত্তর:
String.prototype.includes যেমনটি আপনি লেখেন, ইন্টারনেট এক্সপ্লোরার (বা অপেরা) এ সমর্থিত নয়।
পরিবর্তে আপনি ব্যবহার করতে পারেন String.prototype.indexOf। #indexOfস্ট্রিংয়ের মধ্যে থাকলে স্ট্রিংয়ের প্রথম অক্ষরের সূচকটি প্রদান করে, অন্যথায় এটি প্রত্যাবর্তন করে -1। (অনেকটা অ্যারের সমতুল্য)
var myString = 'this is my string';
myString.indexOf('string');
// -> 11
myString.indexOf('hello');
// -> -1
MDN এর includesব্যবহারের জন্য একটি পলিফিল রয়েছে indexOf: https://developer.mozilla.org/en/docs/Web/ জাভা স্ক্রিপ্ট / রেফারেন্স / গ্লোবাল_অবজেক্টস / স্ট্রিং / অন্তর্ভুক্ত# পলিফিল
সম্পাদনা: অপেরা 28 সংস্করণincludes হিসাবে সমর্থন করে ।
সম্পাদনা 2: এজ এর বর্তমান সংস্করণগুলি পদ্ধতিটিকে সমর্থন করে। (2019 হিসাবে)
Booleanআমরা করতে পারি(myString.indexOf('string') > -1) // to get a boolean true or false
বা এটি কেবল একটি জাভাস্ক্রিপ্ট ফাইলটিতে রাখুন এবং একটি ভাল দিন দিন :)
String.prototype.includes = function (str) {
var returnValue = false;
if (this.indexOf(str) !== -1) {
returnValue = true;
}
return returnValue;
}
for...in, এটি String.prototype.includesযদি এটির মতো সংজ্ঞায়িত হয় তবে এটি পুনরাবৃত্তি হবে ।
return this.indexOf(str) !== -1;
() বেশিরভাগ ব্রাউজার দ্বারা সমর্থিত নয় includes আপনার বিকল্পগুলি হয় ব্যবহার করা হয়
-এমডিএন https://developer.mozilla.org/en/docs/Web/ জাভা স্ক্রিপ্ট / রেফারেন্স / গ্লোবাল_অবজেক্টস / স্ট্রিং / অন্তর্ভুক্ত থেকে পলিফিল
বা ব্যবহার করতে
-সূচিপত্র()
var str = "abcde";
var n = str.indexOf("cd");
যা আপনাকে এন = 2 দেয়
এটি ব্যাপকভাবে সমর্থিত।
for...in! , String.prototype.includesআপনি যদি এটির মতো এটি নির্ধারণ করেন তবে এটি পুনরুক্ত হবে ।
সমস্যা:
ইন্টারনেট এক্সপ্লোরার থেকে নীচে (সমাধান ছাড়াই) চালানোর চেষ্টা করুন এবং ফলাফলটি দেখুন।
console.log("abcde".includes("cd"));
সমাধান:
এখন সমাধান নীচে চালান এবং ফলাফল চেক
if (!String.prototype.includes) {//To check browser supports or not
String.prototype.includes = function (str) {//If not supported, then define the method
return this.indexOf(str) !== -1;
}
}
console.log("abcde".includes("cd"));
এটি আরও ভাল এবং খাটো হতে পারে:
function stringIncludes(a, b) {
return a.indexOf(b) >= 0;
}
৫.আঙ্গুলার 5 এ কাজ করার সময় আমার একই সমস্যা হয়েছিল যাতে নিজে পলিফিল না লিখে এটিকে সরাসরি কাজ করার জন্য কেবল নীচের লাইনটি পলিফিল.এসটি ফাইল যুক্ত করুন:
import "core-js/es7/array"
এছাড়াও, পাবলিক tsconfig.jsonবিভাগটি প্রাসঙ্গিক হতে পারে:
"lib": [
"es2017",
"dom"
],
প্রতিক্রিয়া জন্য:
import 'react-app-polyfill/ie11';
import 'core-js/es5';
import 'core-js/es6';
import 'core-js/es7';
ইস্যু সমাধান - এর জন্য (), সন্ধান () এবং আরও কিছু ..
আপনি যদি Array.prototype.include()জাভাস্ক্রিপ্ট-এ ব্যবহার চালিয়ে যেতে চান তবে আপনি এই স্ক্রিপ্টটি ব্যবহার করতে পারেন:
গিথুব-স্ক্রিপ্ট-ie-অন্তর্ভুক্ত
যা স্বয়ংক্রিয়ভাবে অন্তর্ভুক্ত () -কে ম্যাচ () ফাংশনে রূপান্তর করে যদি এটি আইআই সনাক্ত করে।
অন্যান্য বিকল্পটি সর্বদা ব্যবহার করেstring.match(Regex(expression))
এটা আমার জন্য কাজ করে:
function stringIncludes(a, b) {
return a.indexOf(b) !== -1;
}
আপনি একই সঙ্গে করতে পারেন !! এবং ~ অপারেটরগুলি
var myString = 'this is my string';
!!~myString.indexOf('string');
// -> true
!!~myString.indexOf('hello');
// -> false
এখানে দুটি অপারেটরের ব্যাখ্যা (!! এবং ~)
কী !! (নয়) জাভাস্ক্রিপ্ট অপারেটর?
https://www.joezimjs.com/javascript/great-mystery-of-the-tilde/