javascript - 有没有办法在 Javascript 中说 collection[attr1=value].attr2=value ?

标签 javascript node.js class iterator

有没有办法说类似的话

User.friends[id=1].posts=data

在 Javascript 中,User.friends 是 Friend 项的集合,其中一个属性是“id”?

我正在迭代一个集合 User.friends,它是具有 3 个属性(id、帖子和喜欢)的 Friend 对象的集合。内部迭代器实例变量 friend 似乎是按值传递而不是按引用传递;那么,如何从迭代器中优雅地设置父对象的属性?

    async.each(User.friends, function(friend, cb) {
            var url="https://graph.facebook.com/"+friend.id.id+"/?fields=posts&since="+ moment(postFromDate).format('YYYY-MM-DD') + '&access_token=' + User.accessToken;
            request.get({
                url: url,
                json: true
                }, function (error, response, body) {
                    if (!error && response.statusCode == 200) {
                        console.log(body);
                        //I WANT TO SET THE ACTUAL User.friend[i].posts value, 
                        //but I do not know how to get the value of 'i'?
                        friend.posts=body.data; //this just sets local friend var                           
                        cb(null); 
                    } else {
                        console.log(error);
                        throw error;
                    }

            });  //...request.get
            }, function(error, result) {
                callback();
        }); //...async_each

抱歉,如果这是一个愚蠢的问题。任何帮助真的很感激。我试过:

_.findWhere(User.friends,{id: friend.id}).posts=body.data;

但这似乎不起作用(我认为它只是设置了一个本地值)。

最佳答案

您可以使用filter 方法:

var result = User.friends.filter(function(item) { return item.id === 1; })[0].posts = data;

关于javascript - 有没有办法在 Javascript 中说 collection[attr1=value].attr2=value ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17246316/

相关文章:

Javascript 函数作用域差异

javascript - 有没有更好的方法来编写这个显示/隐藏 JQuery 代码?

javascript - 在 mxgraph 中设置连接器(边缘)点

javascript - 是否可以通过 Node JS 在几分钟内插入/更新 MySQL 中的 8,000,00 条记录

node.js - Nodejs中的递归重试功能

python - 我应该将我的游戏放在 pygame 类中吗?

javascript - 为什么 js 无法理解字符串 '</script>'?

javascript - 为什么 util.inherits 创建一个继承自 super 构造函数原型(prototype)的新对象?

c++ - 将模板类的对象传递给另一个类的构造函数

java - 如何将一个类的方法用于另一个类的私有(private)成员对象