[英]best way to find two number in an array which their sum be a specific number
[英]What is the best way to return a specific number value for a specific number input?
我正在嘗試根據 javascript 中的另一個特定數值更新特定數值
我正在尋找使用 javascript 的最佳方式,以便當“BPM”值更改時,“時間添加”值也會更改以匹配以下值:
BPM : 添加時間
-52:4.75
-48 : 4.5
-44:3.8
-40:3.2
-36:2.5
-32:2
-28 : 2
-24:1.5
-20:1.25
-16:0.85
-12:0.75
-8:0.5
-4:0.25
0 : 0
4 : 0
8:-0.2
12:-0.4
16:-0.6
20:-0.6
24:-0.8
28:-0.9
32:-1.1
36:-1.1
40:-1.2
44:-1.35
48:-1.42
52:-1.55
我相信這可以通過一系列 if..else if 語句來完成,但這似乎非常笨拙。
這是我用來通過單擊按鈕更新 BPM 的代碼:
function increase() {
// Increase the playing speed by approx 1 BPM
rate += 0.03808;
bpm += 4;
}
function decrease() {
// Decreasing the playing speed by 1 BPM
if (rate > .25)
rate -= 0.03808;
bpm -= 4;
}
我想添加另一個名為“時間變化”的變量,每次增加或減少 bpm 時,它將 bpm 的值映射到上面列表中的正確時間值。
謝謝
您可以使用 javascript 對象來執行此操作。 只需在對象中為每個 BPM 賦予一個值。 然后將事件處理程序附加到 BPM 輸入並檢查該值是否存在並使用它。 我只是為了測試目的而記錄它。
let times = { "-52": "4.75", "-48": "4.5", "-44": "3.8", "-40": "3.2", "-36": "2.5", "-32": "2", "-28": "2", "-24": "1.5", "-20": "1.25", "-16": "0.85", "-12": "0.75", "-8": "0.5", "-4": "0.25", "0": "0", "4": "0", "8": "-0.2", "12": "-0.4", "16": "-0.6", "20": "-0.6", "24": "-0.8", "28": "-0.9", "32": "-1.1", "36": "-1.1", "40": "-1.2", "44": "-1.35", "48": "-1.42", "52": "-1.55" }; let bpmInput = document.querySelector(".bpm"); bpmInput.addEventListener("input", function() { _time = times[bpmInput.value]; if (_time) { console.log(_time) } });
<input type="text" class="bpm">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.