下面的案例前幾天分享過(guò):
求每位客戶最后一次的購(gòu)買記錄,當(dāng)時(shí)我們的JS代碼中用的是Set集合。
學(xué)習(xí)了Map映射后我們用Map來(lái)寫下:
代碼一:
把客戶姓名當(dāng)作Key,日期和賬單金額連接起來(lái)當(dāng)作Value,直接把數(shù)據(jù)迭代寫到Map中,由于Map中的鍵名不能重復(fù),所以相同客戶的消費(fèi)記錄只能寫入最后一條數(shù)據(jù)。
最終對(duì)得到的Map進(jìn)行迭代,導(dǎo)出數(shù)據(jù)即可。
代碼二:
思路和上面的代碼一樣,只是迭代Map時(shí)代碼一中用的是for循環(huán),代碼二中用的是迭代函數(shù)forEach。
代碼三:
代碼三中把Map直接放到數(shù)組中打平,然后去迭代。
代碼四:
代碼四對(duì)Map的理解更透徹,即Map中的鍵值對(duì)并不能死板的認(rèn)為鍵值只能是一個(gè)值,它還可以是一個(gè)數(shù)組。
另外本節(jié)中還有一個(gè)比較重要的知識(shí)點(diǎn):
正常的日期讀取到JS中格式會(huì)如上圖,為了讓它能顯示為年月日,需要用toLocaleDateString()進(jìn)行轉(zhuǎn)換。
百看不如一練!動(dòng)手才會(huì)有更多的收獲。
聯(lián)系客服