जावास्क्रिप्ट के लिए बिल्कुल नया होने के नाते, मैं यह जानने में असमर्थ हूं कि इनमें से प्रत्येक का उपयोग कब किया जाए।जावास्क्रिप्ट में, indexOf() और खोज() के बीच क्या अंतर है?
क्या कोई मेरे लिए यह स्पष्ट करने में मदद कर सकता है?
जावास्क्रिप्ट के लिए बिल्कुल नया होने के नाते, मैं यह जानने में असमर्थ हूं कि इनमें से प्रत्येक का उपयोग कब किया जाए।जावास्क्रिप्ट में, indexOf() और खोज() के बीच क्या अंतर है?
क्या कोई मेरे लिए यह स्पष्ट करने में मदद कर सकता है?
यदि आपको नियमित अभिव्यक्ति की आवश्यकता है, तो search()
का उपयोग करें। अन्यथा, indexOf()
तेजी से होने जा रहा है।
खोज समारोह (one description here) एक नियमित अभिव्यक्ति है, जो आपको और अधिक परिष्कृत patters, केस-संवेदी तार के खिलाफ मैच के लिए अनुमति देता है लेता है , आदि, जबकि indexOf (one description here) बस एक शाब्दिक स्ट्रिंग से मेल खाता है। हालांकि, indexOf आपको एक प्रारंभिक अनुक्रमणिका निर्दिष्ट करने की अनुमति देता है।
खोज यह नियमित अभिव्यक्ति के साथ मेल खाता है, लेकिन इसमें कोई ऑफसेट नहीं है। इंडेक्सऑफ मिलान करने के लिए अक्षर का उपयोग करता है, लेकिन ऑफसेट है।
के लिए रेगेक्स टोकन है * एक * ऑफसेट लौटाता है। https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search – rvighne
एक regex के बिना, वहाँ indexOf और search के बीच कोई व्यावहारिक अंतर है।
नीचे दिए गए उदाहरण एक जीवित demo देता है:
function FromSearch() {
var str = document.getElementById("demo").innerText;
var n = str.search("difference");
document.getElementById("Location").innerHTML = n;
}
function FromindexOf() {
var str = document.getElementById("demo").innerText;
var n = str.indexOf("difference");
document.getElementById("Location").innerHTML = n;
}
<p id="demo">Without a <a href='http://www.w3schools.com/js/js_regexp.asp'>regex</a>, there is no practical difference between <a href='http://www.w3schools.com/jsref/jsref_indexof.asp'>indexOf</a> and <a href='http://www.w3schools.com/jsref/jsref_search.asp'>search</a>
</p>
<button onclick="FromSearch()">From search</button>
<button onclick="FromindexOf()">From indexOf</button>
<p>Location of difference in the above sentence is:</p>
<mark id="Location"></mark>
indexOf() - यह स्ट्रिंग शाब्दिक या स्ट्रिंग वस्तुओं लेकिन नहीं नियमित अभिव्यक्ति स्वीकार करता है। यह अपनी खोज शुरू करने के लिए शून्य-आधारित पूर्णांक मान भी स्वीकार करता है, उदाहरण:
खोज() - दोनों स्ट्रिंग अक्षर या स्ट्रिंग ऑब्जेक्ट्स और नियमित अभिव्यक्तियों को स्वीकार करता है। लेकिन यह खोज शुरू करने के लिए एक सूचकांक स्वीकार नहीं करता है।
यह "बच्चे/ई/लेफ्टेंट" के लिए क्या वापस आता है .indexOf (m); '? – RamenChef
अच्छा एक .. यह 4 वापस आ जाएगा .. क्योंकि/ई/स्ट्रिंग मौजूद है .. लेकिन अगर आप रेगेक्स "ई" ढूंढना चाहते हैं तो आपको वांछित परिणाम नहीं मिलेंगे। यूएमएम शायद मुझे indexOf() के लिए अपना जवाब संशोधित करना चाहिए, रेगेक्स को एक स्ट्रिंग अक्षर के रूप में खोजने की कोशिश करता है, न कि रेगेक्स के रूप में। – bablue
इस दावे का समर्थन करने के लिए कोई संदर्भ? – robisrob
इसके अलावा, 'खोज' एक स्ट्रिंग का मूल्यांकन करेगा, भले ही आप नहीं चाहते हैं। – cregox
@ cregox की टिप्पणी महत्वपूर्ण है - "हैलो" आज़माएं। खोज ("।") '- यह 0 लौटाती है, न कि 5'।'किसी भी चरित्र " – JoeRocc