从一个 Array 对象中提取键值,并使用带下划线的提取值从其他对象中过滤 javascript

Extract key values from one Array object and filter from other objects with the extracted values with underscore javascript

var myArray = [{
    "name": "John Doe",
    "age": 29
}, {
    "name": "Anna Smith",
    "age": 24
}];

var myAnotherArray = [{
    "name": "John Doe",
    "age": 29
}, {
    "name": "Anna Smith",
    "age": 24
}, {
    "name": "Peter Jones",
    "age": 39
}, {
    "name": "Gabby",
    "age": 24
}, {
    "name": "Julian",
    "age": 29
}, {
    "name": "George",
    "age": 39
}];

我想从第一个数组中提取所有年龄值,然后从第二个数组中过滤提取的年龄值。

您可以使用 pluckmyArray 中获取所有 age 的数组。 然后你可以使用filter,根据年龄过滤另一个数组。

Demo

var myArray = [{
  "name": "John Doe",
  "age": 29
}, {
  "name": "Anna Smith",
  "age": 24
}];


var myAnotherArray = [{
  "name": "John Doe",
  "age": 29
}, {
  "name": "Anna Smith",
  "age": 24
}, {
  "name": "Peter Jones",
  "age": 39
}, {
  "name": "Gabby",
  "age": 24
}, {
  "name": "Julian",
  "age": 29
}, {
  "name": "George",
  "age": 39
}];

var ages = _.pluck(myArray, 'age');

var filtered = _.filter(myAnotherArray, function(i, l) {
  return _.contains(ages, i.age);
});
console.log(filtered);
document.write(JSON.stringify(filtered));
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>