我想知道如何優化條件以使其足夠靈活以回傳限制為 3 個索引的索引
if(val === 0) return 0;
if (val === -90) return 3;
if (val === -180) return 2;
if (val === -270) return 1;
if (val === -360) return 0;
if (val === -450) return 3;
if(val === 0) return 0;
if (val === 90) return 1;
if (val === 180) return 2;
if (val === 270) return 3;
if (val === 360) return 0;
if (val === 450) return 1;
等等
我想知道如何創建一個函式,如果用戶增加 90,則回傳應該以 3 的限制增加,然后在 3 之后它將回傳 0 索引
uj5u.com熱心網友回復:
function f(x) {
let z = x / 90;
let y = z % 4;
return y < 0 ? 4 y : y;
}
for(let i = -90 * 10; i <= 90 * 10; i = i 90) {
console.log(`x = ${i} => result => ${f(i)}`);
}
function f(x) {
return ((x / 90) % 4 4) % 4;
}
for(let i = -90 * 10; i <= 90 * 10; i = i 90) {
console.log(`x = ${i} => result => ${f(i)}`);
}
uj5u.com熱心網友回復:
您應該首先獲得最小輸入,然后將 360 添加到它。
val = 360 val;
if(val % 360 === 90){
return 1
}
if(val % 360 === 180){
return 2
}
if(val % 360 === 270){
return 3
}
if(val % 360 === 0){
return 0
}
uj5u.com熱心網友回復:
您可以嘗試將正數除以 90,對負數先加 360,然后除以 90。
uj5u.com熱心網友回復:
你可以做(val % 360) / 90
if (val % 90 !== 0) return null.
return (val % 360) / 90;
uj5u.com熱心網友回復:
嘗試
const f = v => (v = v / 90 % 4, v < 0 ? 4 v : v | 0);
for (let i = -450; i <= 450; i = 90) {
console.log(`f(${i}) = ${f(i)}`);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/483143.html
標籤:javascript
