0

オブジェクトのコレクションが 2 つあります。コレクション A を反復処理し、A の ObjectId が B の ObjectId と一致するときに、コレクション B のそのオブジェクトを更新します。

これが私がこれまでに得たものです:

   var exerciseIds = _(queryItems).pluck('ExerciseId').uniq().valueOf();
        var item = { Exercise: null, ExerciseCategories: [] };
        var exerciseAndCategories = [];

        //this part works fine
        _.forEach(exerciseIds, function(id) {
            var temp = _.findWhere(queryItems, { 'ExerciseId': id });
            item.Exercise = temp.Exercise;
            exerciseAndCategories.push(item);
        });

        //this is problem
        _.forEach(queryItems, function (i) {
            _(exerciseAndCategories).where({ 'ExerciseId': i.ExerciseId }).tap(function (x) {
                x.ExerciseCategories.push(i.ExerciseCategory);
            }).valueOf();
        });

編集

フィドルへのリンク

4

1 に答える 1