javascript - How can I determine which array index my number is closest to? -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 13 उत्तर

मेरे पास एक सरणी और var है यह इस तरह दिखता है:

<पूर्व> var भुगतानमिल्स्टोन = [0, 30, 60, 90]; Var दिनओवरड्यू = 33;

जावास्क्रिप्ट में, मैं प्रोग्राम को किस प्रकार निर्धारित कर सकता हूं कि paymentMilestones इंडेक्स में daysOverdue var सबसे निकटतम कौन से है? मुझे उस मान की ज़रूरत है, इसलिए इस मामले में फ़ंक्शन को 30 वापस कर देना चाहिए।

< P> एक त्वरित जवाब (यदि एक टाई है तो यह दोनों को वापस लाएगा - मान लें कि सरणी को पूर्व-सॉर्ट किया गया है):

  var भुगतानमिल्स्टोन = [0, 30, 60, 90]; Var दिनओवरड्यू = 33; फ़ंक्शन findClose (सरणी, elem) {var minDelta = null; Var मिन इंडैक्स = नल; के लिए (var i = 0; i & lt; सरणी.लांबी; i ++) {var delta = Math.abs (array [i] -elem); अगर (मिनेल्टा == शून्य || डेल्टा & lt; minDelta) {minDelta = delta; मिन इंडैक्स = आई; } और अगर (डेल्टा == मिनेडाटा) {रिटर्न [सरणी [मिन्स इंडैक्स], सरणी [i]]; } // अनियंत्रित: रोक अगर डेल्टा फिर से बड़ा बनने लगती है {वापसी [सरणी [i-1]]; }} रिटर्न सरणी [मिन इंडैक्स]; } वीर निकटतम = खोजकॉक्सेज़ (पेमेंटमिलस्टोन, दिनअवधि);  

Comments

Popular posts from this blog

python - Strange behavior using PyQt4's 'pyqtSlot' decorator before another decorator -

c# - UnhandledExceptionMode.ThrowException for AppDomain.UnhandledException -

c# - Process.Kill() returns access denied -