2016-06-02 3 views
0

배열에서 특정 속성 가져 오는 방법 b. 필터링 될 속성은 배열에 있습니다.다른 배열을 사용하여 배열 객체를 필터링하는 밑줄

밑줄을 사용하는 쉬운 방법이 있습니까?

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); 
}); 
아래로 얻을 수있는 방법을 강조하여 이제 경우
관련 문제