Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Need to check array of object in React.js

I have a bunch of objects inside an array and I have to check status of each object and return a single value for each array.

(10) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
0: {projId: 1, task: 'task 1', status: 'completed'}
1: {projId: 1, task: 'task 2', status: 'completed'}
2: {projId: 1, task: 'task 3', status: 'completed'}
3: {projId: 1, task: 'task 4', status: 'completed'}
4: {projId: 1, task: 'task 5', status: 'completed'}
5: {projId: 1, task: 'task 6', status: 'completed'}
6: {projId: 1, task: 'task 7', status: 'completed'}
7: {projId: 1, task: 'task 8', status: 'completed'}
8: {projId: 1, task: 'task 9', status: 'completed'}
9: {projId: 1, task: 'task 10', status: 'completed'}

Need to check the status, and if it is completed for the whole array then return competed else return in progress. The code I tried is given below, but that returns for each object in array.

{GroupedData[key].map(status => ((status.status === "completed")? "Completed" : "In Progress"))} 

And I am writing this inside the return of export function in React.js

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

>Solution :

.map() method is used to change values in a given array and returns that new modified array. In your case, your code changes each value in your array to completed / in progress depending on the status of the object.

In your case, I think that using .some() or .every() will be the best way to go about this. In the code below you are checking that every project has status completed and if that returns true it assigns 'completed' to result, if not it assigns 'in progress'

const result = data.every((project) => project.status === 'completed') ? 'completed' : 'in progress';
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading