CRMEB知識付費中存在一些被視為常量的數(shù)據(jù),如專題類型、評分類型和題型。
專題類型:圖文、音頻、視頻、直播、專欄、輕專題
評分類型:非常差、差、一般、好、非常好
題型:單選題、多選題、判斷題
以上這些不被經(jīng)常更改的數(shù)據(jù),我們都可以做成常量數(shù)據(jù)在使用時進行數(shù)據(jù)映射。在CRMEB知識付費的專題列表的類型展示時使用數(shù)據(jù)映射能夠快速的確認數(shù)據(jù)。類似這種情況的,都可以使用數(shù)據(jù)映射。
做數(shù)據(jù)映射時,先要創(chuàng)建一個數(shù)據(jù)集,把要進行數(shù)據(jù)映射的數(shù)據(jù)寫入進去。數(shù)據(jù)映射的數(shù)據(jù)類型可以使用Object或者Map。CRMEB知識付費中使用的是Object類型,我們以CRMEB知識付費web項目為例,簡要說明一下。
CRMEB知識付費web項目的常量數(shù)據(jù)在constant.js文件,這個文件的路徑是public/pc/scripts/constant.js。文件內(nèi)容如下圖所示:
在這里說明一下Object數(shù)據(jù)的鍵的類型,Object的鍵的類型是字符串,可以進一步這樣理解,能夠轉(zhuǎn)成String類型的數(shù)據(jù)都可以用做鍵名。我們這里使用數(shù)字作為鍵名,在做數(shù)據(jù)映射時更方便與后臺數(shù)據(jù)匹配,數(shù)字鍵名在讀取時也更快。
在專題列表中只需要引入常量數(shù)據(jù)文件,然后將每個專題的類型字段與常量對象中的鍵名匹配。其實數(shù)據(jù)匹配的過程就是數(shù)據(jù)映射,在這里可以理解成讀取對象中的屬性。
上圖中展示專題類型的數(shù)據(jù)映射,其中item.type的值是1-6的數(shù)字,把他作為變量屬性讀取constant.special對象中的值。
以上這些是使用Object做數(shù)據(jù)映射,使用中注意的問題需要注意Object類型的限制。后續(xù)可以使用ES6 Map做數(shù)據(jù)映射,這樣會更好,因為沒有鍵名類型的限制,并且可以保證數(shù)據(jù)唯一性的原則。