मैं जावास्क्रिप्ट सीख रहा हूँ और समझ में नहीं आता क्यों indexOf नीचे रिटर्न -1:इंडेक्सऑफ वापसी -1 क्यों करता है?
var string = "The quick brown fox jumps over the lazy dog";
console.log (string.indexOf("good"));
मैं जावास्क्रिप्ट सीख रहा हूँ और समझ में नहीं आता क्यों indexOf नीचे रिटर्न -1:इंडेक्सऑफ वापसी -1 क्यों करता है?
var string = "The quick brown fox jumps over the lazy dog";
console.log (string.indexOf("good"));
-1 का अर्थ है "कोई मुकाबला नहीं मिला"।
"झूठी" के बजाय -1 लौटने का कारण यह है कि स्ट्रिंग की शुरुआत में एक सुई स्थिति 0 पर होगी, जो जावास्क्रिप्ट में झूठी के बराबर है। तो वापसी -1 सुनिश्चित करता है कि आप जानते हैं कि वास्तव में एक मैच नहीं है।
-1 का मतलब है कोई मुकाबला नहीं पाया जाता है। "अच्छा" उस वाक्य में नहीं है। यह documentedbehaviour है।
indexOf()
विधि पहले सूचकांक, जिस पर एक दिया तत्व सरणी में पाया जा सकता है, या-1
अगर यह मौजूद नहीं है देता है।
खोज कभी नहीं पाती है कि यह क्या खोज रहा है ("अच्छा" वाक्य में नहीं है), और -1 डिफ़ॉल्ट वापसी मूल्य है।
क्योंकि सरणी 0 आधारित हैं, 0 लौटने का मतलब पहला अक्षर से शुरू होना था; 1, दूसरा चरित्र, और इसी तरह। इसका मतलब है कि कुछ भी 0 और ऊपर एक सत्य या "पाया" प्रतिक्रिया होगी। पूर्णांक श्रेणी में सब कुछ रखने के लिए, -1 कोई मिलान नहीं मिलता है।
इंडेक्स के लिए एक और कारण है -1 वापस लौटने पर जब कोई मिलान नहीं मिलता है। नीचे दिए गए कोड पर विचार करें:
if (~str.indexOf(pattern)){
console.log('found')
}else{
console.log('not found')
}
क्योंकि ~ (-1) = 0 तो तथ्य यह है कि indexOf लौटने -1 यह आसान है, तो लिखने के लिए बनाता है ... किसी और का उपयोग कर ~।
यही वह है जिसे मैं ढूंढ रहा था। धन्यवाद। –