2
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
}];

I want to extact all age values from first array and then filter extracted values of age from second array.

1 Answer 1

1

You can use pluck to get the array of all the age from myArray. And then you can use filter, to filter the another array based on the age.

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>

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.