无法将对象推入嵌套对象中的数组

时间:2020-06-03 17:29:23

标签: javascript node.js

这给出了一个错误,即push不是函数

req.User.messages.push(result)

这没有显示任何错误,但是在res.json()中给出了空值

[req.User.messages].push(result);
 return res.json(req.User.messages);

2 个答案:

答案 0 :(得分:1)

您需要检查req.User.messages是否存在以及它是否为数组

 if (req.User.messages && Array.isArray(req.User.messages)) {
  req.User.messages.push(result)
} else {
  req.User.messages = [result];
}

这可确保您仅追加到数组

答案 1 :(得分:1)

[req.User.messages].push(result);

此代码未对req.User.messages进行任何更改。而是创建另一个1元素数组并将结果推入该数组。

这没有显示任何错误,但是在res.json()中给出了空值

这意味着req.User.messages已经为空。

因此,您需要先验证req.User.messages是否为有效数组。

相关问题