javascript - Whats the most elegant way to cap a number to a segment? -


मान लें कि x , a और b नंबर हैं मुझे x सेगमेंट की सीमा तक [a, b] कैप करने की आवश्यकता है।

मैं Math.max (a, Math.min (x, b)) , लेकिन मुझे नहीं लगता कि यह पढ़ने में बहुत आसान है। क्या कोई और अधिक पुन: योग्य तरीके से इसे लिखने का एक चतुर तरीका है?

आप जिस तरह से करते हैं वह सुंदर मानक है। आप उपयोगिता क्लैंप फ़ंक्शन की तरह परिभाषित कर सकते हैं:

  / ** * एक संख्या देता है जिसका मूल्य दी गई सीमा तक सीमित है * * उदाहरण: 0 और 255 * (x * 255) के बीच इस गणना के उत्पादन को सीमित करें। (0, 255) * क्लैंप * * @ परम {नंबर} मिनट आउटपुट श्रेणी की निचली सीमा @ परम {नंबर} अधिकतम आउटपुट रेंज की ऊपरी सीमा * रुकने की सीमा [न्यूनतम, अधिकतम] * टाइप की संख्या * / संख्या। प्रोटोपीपी.क्लम्प = फ़ंक्शन (न्यूनतम, अधिकतम) {वापसी गणित.मैं (गणित। मैक्स (यह, न्यूनतम अधिकतम); };   

(हालांकि भाषा बिल्ट-इन को बढ़ाने पर आम तौर पर मखमली जाती है)

Comments