การกรองตัวเลขให้อยู่ในขอบเขตที่เราต้องการอย่างง่ายๆ : JavaScript
 

Blog :: JavaScript :: การกรองตัวเลขให้อยู่ในขอบเขตที่เราต้องการอย่างง่ายๆ

ไปเจอทริกนี้ในโค้ดของฝรั่งครับ เห็นว่าเป็นทริกที่น่าสนใจดี เลยเอามาบอกต่อครับ

การกรองค่าไม่ให้น้อยกว่าค่าน้อยที่สุดที่เราต้องการ
โดยปกติแล้วเราจะเขียนเชคค่าก่อน ถ้าค่าน้อยกว่าค่าน้อยที่สุดที่เรากำหนด เราถึงจะแก้ค่าให้เป็นค่าน้อยที่สุด แบบตัวอย่าง

if (input < min) input = minValue;

ซึ่งสามารถเขียนลัดได้ดังนี้

input = max(input,  minValue);

ก็คือให้ input เป็นค่า minValue ถ้าค่า minValue มากกว่าค่า input นั่นเอง กรณีนี้สามารถประยุกต์ใช้ได้กับการกรองค่ามากสุดด้วยคือ

input = min(input, maxValue);

ซึ่งเมื่อเอามารวมกันและเขียนเป็นฟังก์ชั่นให้เรียกใช้ง่ายๆได้ดังนี้ครับ

var numberInRank = function(min, number, max){
return Math.min(Math.max(min, number), max);
}

และเรียกใช้ดังนี้

input = numberInRank(minValue, input, maxValue);

2 Comment

  • Nuttapong Suptawepong
    #1 Comment By Nuttapong Suptawepong เมื่อ 28 มีนาคม 2013 เวลา 19 นาฬิกา 46 นาที
    เทคนิคนี้น่าสนใจครับ
     
  • Stitch Zaa
    #2 Comment By Stitch Zaa เมื่อ 30 มีนาคม 2013 เวลา 18 นาฬิกา 15 นาที
    :D ขอบคุณครับ
     

Comment Blog

 
 
 
Share This Topic Login with Facebook