簡體   English   中英

需要在 React.js 中檢查 object 數組

[英]Need to check array of object in React.js

我在一個數組中有一堆對象,我必須檢查每個 object 的狀態並為每個數組返回一個值。

(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'}

需要檢查狀態,如果整個數組完成則返回competed否則返回in progress 下面給出了我嘗試的代碼,但它返回數組中的每個 object。

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

我正在 React.js 中的 export function 的返回中寫這個

.map()方法用於更改給定數組中的值並返回新修改的數組。 在您的情況下,您的代碼根據 object 的狀態將數組中的每個值更改為completed / in progress中。

在你的情況下,我認為使用.some().every()將是 go 的最佳方式。 在下面的代碼中,您正在檢查每個項目的狀態是否已completed ,如果返回 true,則將'completed'分配給result ,否則將分配'in progress'

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

嘗試這個:

yourArrayObject.every((itemObject) => itemObject.status === 'completed') ? 'Completed' : 'In Progress';

暫無
暫無

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

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