Jac*_*asi 1 javascript arrays mapping dry data-structures
鉴于以下代码...
// last 7 days data from db ...
let last7Days =
result.map((data) => data._id).slice(1).slice(-7);
let last7daysIncome =
result.map((data) => data.totalIncomeAmount).slice(1).slice(-7);
let last7daysAvgIncome =
result.map((data)=> data.avrageIncome).slice(1).slice(-7);
let last7daysPatientionsCount =
result.map((data)=> data.PatientionsCount).slice(1).slice(-7);
let last7disease =
result.map((data)=>data.diseaseArr).slice(1).slice(-7);
Run Code Online (Sandbox Code Playgroud)
...如何使用 JavaScript 中的DRY 概念(D on't Repeat Y ourself )来简化这段代码?
创建一个函数,发送要提取的字段的参数,甚至是要回溯的天数:
function lastDays(result, field, days) {
return result.slice(days).map((data)=>data[field]);
}
function lastSevenDays(result, field) {
return lastDays(result, field, -7);
}
let last7Days = lastSevenDays(result, "_id")
let last7daysIncome = lastSevenDays(result, "totalIncomeAmount")
let last7daysAvgIncome =lastSevenDays(result, "avrageIncome")
let last7daysPatientionsCount = lastSevenDays(result, "PatientionsCount")
let last7disease = lastSevenDays(result, "diseaseArr")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |