var data = {
users: [
{
_id: 1,
firstname: 'Bob',
posts: [
{
_id: 1,
text: 'Great post',
posted_to: [2, 3, 4]
}
]
},
{_id:2},{_id:3},{_id:4}
]
}
function getUsersPostedTo() {
var result = [];
var postedToIds = data.users[0].posts[0].posted_to;
for (var i = 0; i<postedToIds.length; i++) {
var id = postedToIds[i];
for (var j = 0; j<data.users.length; j++) {
if (data.users[j]._id == id) {
result.push(data.users[j]);
}
}
}
return result;
}
var users = getUsersPostedTo();
PS: I changed the data function to an object var.