我有一組作業日索引(由數字 0-6 組成),需要轉換為相應的相應 3 字母作業日字串。
例如,陣列[0, 1, 2, 3, 4, 5, 6]應該被轉換為["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],并且[2,4]應該被轉換為["Wed","Fri"]。這是我給定的輸入資料:
"data":[
{
"name":"John",
"gender":"M",
"age":"40",
"days_present":[0,1,2,3,4,5,6],
"time_spend":1626908399000
},
{
"name":"Maria",
"gender":"F",
"age":"32",
"days_present":[2,6],
"time_spend":1626908366000
},
{
"name":"Ben",
"gender":"M",
"age":"27",
"days_present":[2,4,6],
"time_spend":1626908331000
}
]
結果資料應如下所示:
"data":[
{
"name":"John",
"gender":"M",
"age":"40",
"days_present":["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
"time_spend":1626908399000
},
{
"name":"Maria",
"gender":"F",
"age":"32",
"days_present":["Wed","Sun"],
"time_spend":1626908366000
},
{
"name":"Ben",
"gender":"M",
"age":"27",
"days_present":["Wed", "Fri","Sun"],
"time_spend":1626908331000
}
]
我應該如何最好地做到這一點?
uj5u.com熱心網友回復:
很簡單,只需打兩個map電話:
const obj={"data":[{"name":"John","gender":"M","age":"40","days_present":[0,1,2,3,4,5,6],"time_spend":1626908399000},{"name":"Maria","gender":"F","age":"32","days_present":[2,6],"time_spend":1626908366000},{"name":"Ben","gender":"M","age":"27","days_present":[2,4,6],"time_spend":1626908331000}]};
const weekdays = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"];
const result = obj.data.map(({ days_present, ...r }) => ({
days_present: days_present.map(i => weekdays[i]),
...r
}));
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: auto; }
這將遍歷每個專案data并將每個作業日索引轉換為其相應的作業日字串。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/490358.html
標籤:javascript 数组 打字稿 目的
