Joins in Javascript

后端 未结 8 2275
醉话见心
醉话见心 2020-12-14 03:31

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         


        
8条回答
  •  不思量自难忘°
    2020-12-14 04:16

    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");
    

提交回复
热议问题