我需要為我的客戶資料生成 csv,但我需要包含來自我的模型的所有標題。
問題是我的一些舊客戶資料沒有現有欄位。我想創建一個以所有標題為鍵的新物件,如果客戶端沒有資料或沒有現有欄位,則留下一些空字串。感謝您的幫助!
這里以標題為鍵的示例
let header = ["firstname", "lastname", "age", "gender", "address"];
客戶資訊示例
let userInfo = [
{
firstname: "John",
lastname: "Doe",
age: "20",
gender: "male",
},
{
firstname: "Jane",
lastname: "Doe",
},
];
預期產出
let userInfo = [
{
firstname: "John",
lastname: "Doe",
age: "20",
gender: "male",
address: "",
},
{
firstname: "Jane",
lastname: "Doe",
age: "",
gender: "",
address: "",
},
];
uj5u.com熱心網友回復:
您可以使用 array.reduce 創建一個空物件
const emptyObj = header.reduce((acc, key) => {
acc[key] = "";
return acc;
}, {});
并在 userInfo 上使用 array.map 回傳一個物件,該物件將空物件與具有值的物件連接起來
let header = ["firstname", "lastname", "age", "gender", "address"];
let userInfo = [{
firstname: "John",
lastname: "Doe",
age: "20",
gender: "male",
},
{
firstname: "Jane",
lastname: "Doe",
},
];
const emptyObj = header.reduce((acc, key) => {
acc[key] = "";
return acc;
}, {});
const result = userInfo.map(user => {
return {
...emptyObj,
...user
};
})
console.log(result);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/522227.html
下一篇:Java-使用回圈初始化多個物件
