我有一個代表用戶,像這樣的JavaScript對象的數組:清潔方法規範化JavaScript對象屬性
[
{ userName: "Michael",
city: "Boston"
},
{ userName: "Thomas",
state: "California",
phone: "555-5555"
},
{ userName: "Kathrine",
phone: "444-4444"
}
]
某些對象包含一些屬性,但不是別人。我需要的是一種乾淨的方式來確保所有對象獲得相同的屬性。如果它們不存在,我希望他們有一個空字符串值,就像這樣:
[
{ userName: "Michael",
city: "Boston",
state: "",
phone: ""
},
{ userName: "Thomas",
city: "",
state: "California",
phone: "555-5555"
},
{ userName: "Kathrine",
city: "",
state: "",
phone: "444-4444"
}
]
更新 我本來應該更具體一點。我正在尋找可以動態處理這種情況的選項,因此我不必提前知道屬性。
對於特定的jQuery,$.extend()
選項是一個不錯的選擇,但只有在您提前知道所有屬性的情況下才有效。
有幾個人提到,這應該可能是服務器端的任務,雖然我通常贊同這一點,但我沒有在服務器端處理這個問題有兩個原因:1)它將是一個更小的JSON對象如果900個1000個對象只包含1個可能的9個屬性。 2)需要添加「空」屬性以滿足JS實用程序的需要,該實用程序可以在將來會被某些不關心某些屬性丟失的東西替換。
你做出了嘗試? – megawac
+1實際嘗試任何東西,但也...爲什麼你不能在檢索時清理數據? – PlantTheIdea
任何繼承人建議如何去做這件事:在你的項目上做一個期望屬性的默認對象:'{user:「」,city:「」,...}'然後調用'$ .map'並且擴展每個項目都有默認值 – megawac