ソースを参照

Add numeric clamp function

ApisNecros 2 週間 前
コミット
70877fd197
1 ファイル変更14 行追加1 行削除
  1. 14 1
      common.js

+ 14 - 1
common.js

@@ -25,7 +25,7 @@ export function loadInput(dayNumber, parsingFunction, literalPath = false) {
  * @returns {-1|0|1}
  */
 export function numericAscSort(a, b) {
-    return a - b;
+    return clamp(a - b);
 }
 
 /**
@@ -39,4 +39,17 @@ export function numericAscSort(a, b) {
  */
 export function strToInt(string) {
     return parseInt(string, 10);
+}
+
+/**
+ * Clamp a number between two other numbers
+ *
+ * @param {number} value The value to be clamped
+ * @param {number} min The minimum value
+ * @param {number} max The maximum value
+ *
+ * @returns {number} The clamped value
+ */
+export function clamp(value, min = -1, max = 1) {
+    return Math.max(min, Math.min(max, value));
 }