2016-04-12 12 views

उत्तर

24

String.prototype.includes है, जैसा कि आप लिखते हैं, इंटरनेट एक्सप्लोरर (या Opera) में समर्थित नहीं

इसके बजाय आप String.prototype.indexOf उपयोग कर सकते हैं। #indexOf स्ट्रिंग में होने पर सबस्ट्रिंग के पहले अक्षर की अनुक्रमणिका देता है, अन्यथा यह -1 देता है। https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/includes#Polyfill

+0

यह –

6

भी शामिल है() अधिकांश ब्राउज़र द्वारा समर्थित नहीं है: (बहुत सरणी बराबर की तरह)

var myString = 'this is my string'; 
myString.indexOf('string'); 
// -> 11 

myString.indexOf('hello'); 
// -> -1 

MDN indexOf का उपयोग कर includes के लिए एक polyfill है। आपके विकल्प

MDN से -polyfill https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/includes

उपयोग करने के लिए या

-indexof()

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

जो तुम देता है उपयोग करने के लिए या तो कर रहे हैं n = 2

यह व्यापक रूप से समर्थित है ।

+0

यह सही जवाब काम करता है। एमडीएन – Sangar82

+0

से पॉलीफिल का उपयोग करें यदि आप एमडीएन से पॉलीफिल का उपयोग करते हैं, तो अपनी स्ट्रिंग को 'इन ... इन' के साथ फिर से चालू न करें! _, यदि आप इसे इस तरह परिभाषित करते हैं तो यह 'String.prototype.includes' पर फिर से चालू हो जाएगा। –

5

या सिर्फ एक जावास्क्रिप्ट फ़ाइल में :)

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

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

    return returnValue; 
} 
+0

यदि आप इस पॉलीफिल का उपयोग करते हैं, तो अपनी स्ट्रिंग को 'इन ... इन' के साथ पुन: सक्रिय न करें, यह इस तरह परिभाषित होने पर 'String.prototype.includes' पर फिर से चालू हो जाएगा। –

0

इस डाल दिया और एक अच्छा दिन है आप Array.prototype.include() जावास्क्रिप्ट में आप इस स्क्रिप्ट का उपयोग कर सकते हैं का उपयोग कर रखना चाहते हैं: यह स्वचालित रूप से को शामिल धर्मान्तरित github-script-ie-include () मिलान() फ़ंक्शन में यदि यह IE का पता लगाता है।

अन्य विकल्प हमेशा का उपयोग कर string.match(Regex(expression))

ओपेरा 46.0 पर
संबंधित मुद्दे