我在瀏覽我的req.body.email. 只要至少有 2 個,emails我的 obj 就會像這樣列印出來:
{
users: [
{ email: '[email protected]', role: 'read' },
{ email: '[email protected]', role: 'Admin' }
]
}
所以這里一切都是正確的。但是一旦我只有 1,email它就會遍歷各個字母,使 obj 看起來像這樣:
{
users: [
{ email: 't', role: 'read' },
{ email: 'e', role: 'read' },
{ email: 's', role: 'read' },
{ email: 't', role: 'read' }
]
}
這是我的代碼:
router.post('/test/:proID', async (req, res) => {
const projectID = parseInt(req.params['proID'], 10) || 0;
var obj = {};
obj.users = [];
for (let i = 0; i < req.body.email.length; i ) {
obj.users[i] = { email: req.body.email[i], role: req.body.right[i]
};
console.log(req.body.email.length);
console.log(req.body.email);
console.log(obj);
我怎樣才能解決這個問題?此外,當我只有 1 個電子郵件時,我會req.body.email.length顯示字母數,而不是物件的長度。所以我假設當只有 1 個電子郵件時它只是一個字串,如果多個 myreq.body.email是一個物件?
我怎樣才能有效地處理這個問題?
uj5u.com熱心網友回復:
email回應正文中的欄位型別似乎取決于地址數量。如果只有一個地址,則為string,如果有多個地址,則為Array。如果您無法將 API 更改為始終回傳Array,則可以檢查客戶端上的資料型別:
if (Array.isArray(req.body.email)) {
// ...
}
else {
// ...
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/312524.html
標籤:javascript 数组 循环 目的 邮政
上一篇:獲取資料時顯示加載反應
