2016-06-02 8 views
0

配列bから特定のプロパティを取得する方法。フィルタリングされるこれらのプロパティは配列aにあります。他の配列を使用して配列オブジェクトをフィルタリングするアンダースコア

アンダースコアを使用して簡単に行う方法はありますか。

var a = [{ 
    name: "code" 
}, { 
    name: "barcode" 
}, { 
    name: "status", 
    type: "button" 
}]; 

var b = [{ 
    id: 1, 
    code: 10, 
    barcode: "121212", 
    status: "success", 
    amount: "10", 
    available: true 
}, { 
    id: 1, 
    code: 10, 
    barcode: "121212", 
    status: "success", 
    amount: "10", 
    available: true 
}]; 

私は結果

var c = [{ 
    code: 10, 
    barcode: "121212", 
    status: "success" 
}, { 
    code: 10, 
    barcode: "121212", 
    status: "success" 
}]; 

答えて

1
(function(property, x, y) { 
    var filters = _.pluck(x, property); 
    var filter = function(obj) { 
    return _.pick(obj, filters); 
    }; 
    return _.map(y, filter); 
})('name', a, b); 
1
var filters = _.pluck(a, 'name'); 

var c = _.map(b, function(el) { 
    return _.pick(el, filters); 
}); 
の下に取得することができますどのようにアンダー使っ今ならば
関連する問題