簡體   English   中英

下划線以使用另一個數組過濾數組對象

[英]Underscore to filter array object using another array

如何從數組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"
}];
(function( property, x, y ) {
  var filters = _.pluck( x, property );
  var filter = function( obj ) {
    return _.pick( obj, filters );
  };
  return _.map( y, filter );
})( 'name', a, b );
var filters = _.pluck(a, 'name');

var c = _.map(b, function(el) {
    return _.pick(el, filters);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM