IF ELSE 条件总是转到 ELSE
IF ELSE condition is always going to the ELSE
这是我的 POST 请求:
router.post('/', (req, res) => {
let body = { ...req.body };
let odd = new Array();
let even = new Array();
let is_success = true;
body.array.forEach((element) => {
if (Number.isInteger(element)) {
if (element % 2 == 0) {
even.push(element);
} else {
odd.push(element);
}
} else {
is_success = false;
return;
}
});
if (is_success) {
res.status(200).json({
is_success: `${is_success}`,
user_id: 'john_doe_17091999',
odd: `${odd}`,
even: `${even}`,
});
} else
res.status(200).json({
is_success: `${is_success}`,
user_id: 'john_doe_17091999',
});
});
条件 is_success 没有变成真,它总是进入 else 条件。如果所有输入元素都是整数,我想要做的是获取数组和 return 奇偶数组:
{
"array": ["1", "2", "3"]
}
回复:
{
"successful": true,
"odd": [1, 3],
"even": [2],
}
它总是响应什么:
{
"is_success": "false",
"user_id": "john_doe_17091999"
}
您的数组包含字符串。您需要先将它们转换为数字,然后才能对它们进行 运行 Number.isInteger(),否则它将始终 return 'false'。您可以通过在元素前放置一个“+”来做到这一点。见下文。
Number.isInteger(+element)
在使用 Number.isInteger 之前,您必须将每个 element 转换为 Number否则你会得到错误。
示例:Number.isInteger("2") 将 return false
Number.isInteger(Number("2")) 将 return 为真
这是我的 POST 请求:
router.post('/', (req, res) => {
let body = { ...req.body };
let odd = new Array();
let even = new Array();
let is_success = true;
body.array.forEach((element) => {
if (Number.isInteger(element)) {
if (element % 2 == 0) {
even.push(element);
} else {
odd.push(element);
}
} else {
is_success = false;
return;
}
});
if (is_success) {
res.status(200).json({
is_success: `${is_success}`,
user_id: 'john_doe_17091999',
odd: `${odd}`,
even: `${even}`,
});
} else
res.status(200).json({
is_success: `${is_success}`,
user_id: 'john_doe_17091999',
});
});
条件 is_success 没有变成真,它总是进入 else 条件。如果所有输入元素都是整数,我想要做的是获取数组和 return 奇偶数组:
{
"array": ["1", "2", "3"]
}
回复:
{
"successful": true,
"odd": [1, 3],
"even": [2],
}
它总是响应什么:
{
"is_success": "false",
"user_id": "john_doe_17091999"
}
您的数组包含字符串。您需要先将它们转换为数字,然后才能对它们进行 运行 Number.isInteger(),否则它将始终 return 'false'。您可以通过在元素前放置一个“+”来做到这一点。见下文。
Number.isInteger(+element)
在使用 Number.isInteger 之前,您必须将每个 element 转换为 Number否则你会得到错误。
示例:Number.isInteger("2") 将 return false Number.isInteger(Number("2")) 将 return 为真