Khai báo một đối tượng arr
để giữ tập hợp duy nhất làm khóa. Dân cưarr
bằng cách lặp qua mảng một lần sử dụng bản đồ. Nếu khóa chưa được tìm thấy trước đó thì hãy thêm khóa và gán giá trị bằng không. Trên mỗi lần lặp, giá trị của khóa sẽ tăng lên.
Đã cho testArray:
var testArray = ['a','b','c','d','d','e','a','b','c','f','g','h','h','h','e','a'];
giải pháp:
var arr = {};
testArray.map(x=>{ if(typeof(arr[x])=="undefined") arr[x]=0; arr[x]++;});
JSON.stringify(arr)
sẽ xuất ra
{"a":3,"b":2,"c":2,"d":2,"e":2,"f":1,"g":1,"h":3}
Object.keys(arr)
sẽ trở lại ["a","b","c","d","e","f","g","h"]
Để tìm sự xuất hiện của bất kỳ mục nào, ví dụ b arr['b']
sẽ xuất2