下划线在多个阵列中找到一个值

时间:2015-12-12 17:08:29

标签: underscore.js

我是下划线的新手,我会感谢任何帮助。

我试图回归" peopleAttending"在像#2; 2-0-110"不一定先在对象"房间"或者,类似于:" peopleAttending"在房间里" id" =" 2-0-110"

{ 
  "2-0-110": { 
      name:"room-2-0-110",
      id:"2-0-110",
      people:["2,3"],
      peopleLimit:50,
      peopleAttending:["9,5562,5614"] 
    },
  "2-0-54": { 
      name:"room-2-0-54",
      id:"2-0-54",
      people:["4,5"],
      peopleLimit:40,
      peopleAttending:["1000,3334,434545"]
    }
}

我尝试了很多东西,但我认为使用这样的东西会是最干净的方法,但是我没有得到我需要的东西,任何人都可以解释并帮助我实现这个目标吗?

var roomPeopleAttending = _.find(rooms, function (room) { return 'peopleAttending' in room });

1 个答案:

答案 0 :(得分:0)

没有必要使用下划线,您可以使用普通JS进行管理

function getAttending(roomId, rooms) { 
    /*
     * just return data, as no modification needs 
     * getAttending('2-0-110') => ["9,5562,5614"] 
     */
    return (rooms[roomId] || {}).peopleAttending;
};

您可能对 lodash .get方法感兴趣。