gpt4 book ai didi

javascript - Node.js 循环遍历数组不显示整个对象

转载 作者:行者123 更新时间:2023-11-28 18:44:02 25 4
gpt4 key购买 nike

我发现 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com