3 回答

TA貢獻1860條經驗 獲得超8個贊
只需計算已完成的項目reduce,然后將其除以項目總數:
let completedCount = users.reduce((count, it) => count + (it.Status__c === "Completed" ? 1 : 0), 0);
let completedPercentage = 100 * completedCount / users.length;
注意:您可能需要users.length !== 0在劃分之前檢查是否。

TA貢獻1874條經驗 獲得超12個贊
按狀態過濾,然后進行百分比數學。
const users = [{ "Id": "1", "Status__c": "Not Started" }, { "Id": "2", "Status__c": "Not Started" }, { "Id": "3", "Status__c": "Completed" }, { "Id": "4", "Status__c": "Not Started" }, { "Id": "5", "Status__c": "Not Started" }];
const percentComplete = (data) =>
(data.filter(({Status__c: s}) =>
s === 'Completed').length / data.length) * 100
const result = percentComplete(users)
console.log(`${result.toFixed()}%`)

TA貢獻2080條經驗 獲得超4個贊
使用基本的簡化循環。
const words = [{
"Id": "1",
"Status": "Not Started"
},
{
"Id": "2",
"Status": "Not Started"
},
{
"Id": "3",
"Status": "Completed"
},
{
"Id": "4",
"Status": "Not Started"
},
{
"Id": "5",
"Status": "Not Started"
}
];
function calculatePercentageByStatus(status, arr) {
let total = arr.length;
let matched = 0;
for (let i = 0; i < arr.length; i++) {
if (arr[i].Status === status) {
matched++;
}
}
return (matched / total) * 100;
}
console.log("percentage of Completed " + calculatePercentageByStatus("Completed", words) + "%");
console.log("percentage of Not Started " + calculatePercentageByStatus("Not Started", words) + "%");
添加回答
舉報