ประกาศวัตถุarrเพื่อยึดชุดเฉพาะเป็นกุญแจ เติมข้อมูลarrโดยการวนลูปผ่านอาร์เรย์หนึ่งครั้งโดยใช้แผนที่ หากไม่พบคีย์ก่อนหน้านี้ให้เพิ่มคีย์และกำหนดค่าเป็นศูนย์ ในการทำซ้ำแต่ละครั้งจะเพิ่มค่าของคีย์
ให้ testArray:
var testArray = ['a','b','c','d','d','e','a','b','c','f','g','h','h','h','e','a'];
วิธีการแก้:
var arr = {};
testArray.map(x=>{ if(typeof(arr[x])=="undefined") arr[x]=0; arr[x]++;});
JSON.stringify(arr) จะส่งออก
{"a":3,"b":2,"c":2,"d":2,"e":2,"f":1,"g":1,"h":3}
Object.keys(arr) จะกลับมา ["a","b","c","d","e","f","g","h"]
เพื่อค้นหาการเกิดขึ้นของรายการใด ๆ เช่น b arr['b']จะแสดงผล2