我感到無聊并決定用 javascript 制作一個簡單的 API。大錯。
出于某種原因,這個非常簡單的 if/else 陳述句只會在 中運行代碼if,而不是在else. 我問過我的朋友,他在 javascript 方面比我更有經驗,但他也看不出問題。
這是代碼:
app.get("/number", (req, res) => {
const min = req.query.min || 0
const max = req.query.max || 100
if (min > max) {
res.status(400).json({
error: "min must be less than max. ur actually dumb"
})
} else {
const number = Math.floor(Math.random()*Math.max(min, max) Math.min(min, max))
res.json({
number: number,
"your ip LEAKED 2021 not clickbait!!!11!1": req.ip
})
}
})
這是輸出: 
所以我在這里,要求堆疊溢位來幫助我使用 if 陳述句。謝謝
uj5u.com熱心網友回復:
min并且max是字串,因為它們作為查詢引數傳入
您也不需要Math.min或Math.max因為您已經知道哪個更大/更小
還使用三元運算子而不是||因為如果 max 是0,則 max 將設定為 100
app.get("/number", (req, res) => {
const min = isNaN(parseInt(req.query.min)) ? 0 : parseInt(req.query.min);
const max = isNaN(parseInt(req.query.max)) ? 100 : parseInt(req.query.max);
if (min > max) {
res.status(400).json({
error: "min must be less than max. ur actually dumb"
});
} else {
const number = Math.floor(Math.random()*max min);
res.json({
number: number,
"your ip LEAKED 2021 not clickbait!!!11!1": req.ip
});
}
})
uj5u.com熱心網友回復:
您必須將 req.query.min 和 req.query.max 決議為整數,否則,比較將無法以正確的方式進行
app.get("/number", (req, res) => {
const min = isNaN(parseInt(req.query.min)) ? 0 :
parseInt(req.query.min);
const max = isNaN(parseInt(req.query.max)) ? 100 :
parseInt(req.query.max);
if (min > max) {
res.status(400).json({
error: "min must be less than max. ur actually dumb"
});
} else {
const number = Math.floor(Math.random()*max min);
res.json({
number: number,
"your ip LEAKED 2021 not clickbait!!!11!1": req.ip
});
}
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/386317.html
標籤:javascript 表达
