作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发现 Node.js 中数组的奇怪行为
谷歌搜索没有帮助。 Ofc,这可能是我疲劳的原因。如果是这样,我很抱歉。
所以,我的模型
var UserSchema = new mongoose.Schema({
id: mongoose.Schema.ObjectId,
added: {
type: Date,
default: Date.now()
},
displayName: String,
cart: [{
orderNumber: mongoose.Schema.ObjectId,
exposition: Object,
offer: Object,
state: Number,//1 - Unpaid
}],
});
在 Controller 中,我试图循环购物车数组
var cartId = new ObjectId(req.body.id);
mongoose.model('User').findById(currentUser.userId, function (err, user) {
var cart = user.cart;
console.log(cart);
var expId = -1;
if (cart) {
for (var i = 0; i < cart.length; i++) {
var cartItem = cart[i];
console.log(cartItem);
if (cartItem._id === cartId) {
console.log("SHIT");
expId = user.cart.exposition._id;
break;
}
}
}
});
我没有找到比循环更好的解决方案来在用户中查找嵌入式购物车。所以,当我记录我的购物车对象时
console.log(cart);
我得到了正确的对象并且工作正常,但是当我尝试记录时
console.log(cartItem);
console.log(cart[0]);
我只得到
[object Object]
[object Object]
我做错了什么?
最佳答案
这是对象的默认toString()
。尝试一下
console.log(JSON.stringify(cartItem));
console.log(JSON.stringify(cart[0]));
相反,如果您想查看对象的结构。
关于javascript - Node.js 循环遍历数组不显示整个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35661897/
我是一名优秀的程序员,十分优秀!