Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Find all objects with matching Ids javascript

I'm trying to get all objects with matching id's from my students array and get other property values from them...

For instance my array looks like this:

const students = [
    {id: 1, name: 'Cal', location: 'McHale' },
    {id: 2, name: 'Courtney', location: 'Sydney Hall' }, 
    {id: 1, name: 'Cal', location: 'Syndey hall' }
]

So my expected output would grab all instances of id: 1.

{id: 1, name: 'Cal', location: 'McHale' },
{id: 1, name: 'Cal', location: 'Syndey hall' }

I'll eventually want to remove duplicate names and display in a list like so... (But that's down the line. For now I just want to grab matching objects).

Id: 1    Name: Cal    Location: McHale
                                Syndey Hall

I've tried:

const result = _.find(students, {student_id: studentId});

But that doesn't seem to work, it just returns one of the objects with that id..

{id: 1, name: 'Cal', location: 'McHale' },

How can I make this work?

like image 769
Modelesq Avatar asked Jun 16 '16 15:06

Modelesq


1 Answers

I would look into the filter function. It's build into JavaScript.

Here's an example of how it works. All you need to do is find a way to make a function that will tell if it has the proper id.

function isBigEnough(value) {
  return value >= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// filtered is [12, 130, 44]
like image 190
JustGage Avatar answered Sep 28 '22 20:09

JustGage