। অন্তর্ভুক্ত () ইন্টারনেট এক্সপ্লোরারে কাজ করছে না


111

এই কোডটি ইন্টারনেট এক্সপ্লোরারটিতে কাজ করে না। কোন বিকল্প?

"abcde".includes("cd")

33
দুই বছর পরে আইই এখনও এটি সমর্থন করে না।
nu এভারেস্ট

4
আইই আরও ভাল হওয়ার জন্য অপেক্ষা করা ... আইই আরও ভাল হওয়ার জন্য অপেক্ষা করছেন।
রব_এম

4
@Nueverest আপনার মানে 3 বছর ঠিক? : ডি
জোশ

4
কেউ প্রত্যেকের পক্ষে কাজ করেন এবং IE এর জন্য রেপো (গুলি) মুছুন। শুধু এটি শেষ।
শূন্য_কুল

আরও 2 বছর - আইই এখনও এটি সমর্থন করে না
পিয়োট্রেইক হ্রিসিউক

উত্তর:


138

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 হিসাবে)


()) এমন একমাত্র ফাংশন অন্তর্ভুক্ত করা যাবে যা আইই সমর্থন করে না? বা অন্যান্য টাইপ স্ক্রিপ্ট বা জাভাস্ক্রিপ্ট ফাংশন রয়েছে যা আইআই দ্বারা সমর্থিত নয়?
আব্দুল্লাহ ফিরোজ

10
আমাদের যদি প্রয়োজন হয় তবে Booleanআমরা করতে পারি(myString.indexOf('string') > -1) // to get a boolean true or false
আকাশ

32

বা এটি কেবল একটি জাভাস্ক্রিপ্ট ফাইলটিতে রাখুন এবং একটি ভাল দিন দিন :)

String.prototype.includes = function (str) {
  var returnValue = false;

  if (this.indexOf(str) !== -1) {
    returnValue = true;
  }

  return returnValue;
}

আপনি যদি এই পলিফিল ব্যবহার করেন তবে আপনার স্ট্রিংটি পুনরাবৃত্তি করবেন না for...in, এটি String.prototype.includesযদি এটির মতো সংজ্ঞায়িত হয় তবে এটি পুনরাবৃত্তি হবে ।
প্যাট্রিক রবার্টস

10
সংক্ষিপ্ত সংস্করণ:return this.indexOf(str) !== -1;
অ্যান্ড্রু

4
অ্যারেগুলির জন্য: অ্যারে.প্রোটোটাইপ.আইক্লুডস = ফাংশন (এল্ট) {এটিকে ফিরিয়ে দিন ind indexOf (elt)! == -1; }
লেপটায়

9

() বেশিরভাগ ব্রাউজার দ্বারা সমর্থিত নয় includes আপনার বিকল্পগুলি হয় ব্যবহার করা হয়

-এমডিএন https://developer.mozilla.org/en/docs/Web/ জাভা স্ক্রিপ্ট / রেফারেন্স / গ্লোবাল_অবজেক্টস / স্ট্রিং / অন্তর্ভুক্ত থেকে পলিফিল

বা ব্যবহার করতে

-সূচিপত্র()

var str = "abcde";
var n = str.indexOf("cd");

যা আপনাকে এন = 2 দেয়

এটি ব্যাপকভাবে সমর্থিত।


আপনি যদি এমডিএন থেকে পলিফিল ব্যবহার করেন তবে এর সাথে আপনার স্ট্রিংটি পুনরাবৃত্তি করবেন না for...in! , String.prototype.includesআপনি যদি এটির মতো এটি নির্ধারণ করেন তবে এটি পুনরুক্ত হবে ।
প্যাট্রিক রবার্টস

6

সমস্যা:

ইন্টারনেট এক্সপ্লোরার থেকে নীচে (সমাধান ছাড়াই) চালানোর চেষ্টা করুন এবং ফলাফলটি দেখুন।

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"));


4

এটি আরও ভাল এবং খাটো হতে পারে:

function stringIncludes(a, b) {
    return a.indexOf(b) >= 0;
}

indexOf IE দ্বারা সমর্থিত নয়
Some_Dude

4
আইই 11 এ এটি পুরোপুরি সূক্ষ্মভাবে কাজ করে। হয়তো এটি আই 10 তে নেই, তবে আজকাল খুব কম লোকই সেই সংস্করণটি ব্যবহার করছে।
অ্যান্ড্রু

3

৫.আঙ্গুলার 5 এ কাজ করার সময় আমার একই সমস্যা হয়েছিল যাতে নিজে পলিফিল না লিখে এটিকে সরাসরি কাজ করার জন্য কেবল নীচের লাইনটি পলিফিল.এসটি ফাইল যুক্ত করুন:

import "core-js/es7/array"

এছাড়াও, পাবলিক tsconfig.jsonবিভাগটি প্রাসঙ্গিক হতে পারে:

"lib": [
  "es2017",
  "dom"
],

আপনি আমার বন্ধু একটি সম্পূর্ণ জীবন রক্ষাকারী!
CodeMan03

3

প্রতিক্রিয়া জন্য:

import 'react-app-polyfill/ie11';
import 'core-js/es5';
import 'core-js/es6';
import 'core-js/es7';

ইস্যু সমাধান - এর জন্য (), সন্ধান () এবং আরও কিছু ..


1

আপনি যদি Array.prototype.include()জাভাস্ক্রিপ্ট-এ ব্যবহার চালিয়ে যেতে চান তবে আপনি এই স্ক্রিপ্টটি ব্যবহার করতে পারেন: গিথুব-স্ক্রিপ্ট-ie-অন্তর্ভুক্ত যা স্বয়ংক্রিয়ভাবে অন্তর্ভুক্ত () -কে ম্যাচ () ফাংশনে রূপান্তর করে যদি এটি আইআই সনাক্ত করে।

অন্যান্য বিকল্পটি সর্বদা ব্যবহার করেstring.match(Regex(expression))



-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/

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.