I have 2 lists of objects:
people =
[{id: 1, name: \"Tom\", carid: 1},
{id: 2, name: \"Bob\", carid: 1},
{id: 3, name: \"Sir Benjamin Rogan-Josh IV\", car
It is not hard to implement using underscore.js
function leftJoin(left, right, left_id, right_id) {
var result = [];
_.each(left, function (litem) {
var f = _.filter(right, function (ritem) {
return ritem[right_id] == litem[left_id];
});
if (f.length == 0) {
f = [{}];
}
_.each(f, function (i) {
var newObj = {};
_.each(litem, function (v, k) {
newObj[k + "1"] = v;
});
_.each(i, function (v, k) {
newObj[k + "2"] = v;
});
result.push(newObj);
});
});
return result;
}
leftJoin(people, cars, "carid", "id");