【发布时间】:2013-07-31 01:00:43
【问题描述】:
假设我的帖子数组中的每个帖子都有两个属性名称和编号。所以它就像
var posts = [{name:"hey", number: 1}, {name:"foo", number:"2"}]
Javascript 允许我像这样在 foreach 循环中更改这些属性:
posts.forEach(function(post){
post.name = "bar"
});
我的数组变成:
var posts = [{name:"bar", number: 1}, {name:"bar", number:"2"}]
但它不允许我添加新属性,例如:
posts.forEach(function(post){
post.adress = "bar"
});
我的对象保持不变。有没有办法在 javascipt 的 foreach 循环中添加属性
编辑:
这是在回调中使用猫鼬发生的..
Post.pagination(options, function(err, posts) {
if (err) console.log(err)
posts.forEach(function(post){
post.votetype = 1;
});
console.log(posts);
res.send({ posts : posts })
})
在没有添加这个 votetype 属性之后
【问题讨论】:
-
你确定吗?我得到了你想要的结果:jsfiddle.net/dAHJz。查看控制台并展开数组(及其对象),您会看到
address属性已添加到每个 -
这是在浏览器中还是在服务器端使用 Node.js 和 Mongoose(或类似的东西)?
-
使用猫鼬.. 我想我的问题过于简单了
-
然后你需要在特定对象上调用
.toObject(),然后你会得到一个你可以修改的对象。
标签: javascript mongoose