You are given a 0-indexed string num of length n consisting of digits.
Return true if for every index i in the range 0 <= i < n, the digit i occurs num[i] times in num, otherwise return false.
2283. Check if Number Has Equal Digit Count and Digit Value
/**
* @param {string} num
* @return {boolean}
*/
var digitCount = function(num) {
const arr = num.split("").map(Number);
const sH = new Map();
for (let num of arr) {
if (sH.has(num)) sH.set(num, sH.get(num) + 1);
else sH.set(num, 1);
}
for (let i = 0; i < arr.length; i++) {
if (sH.has(i) && sH.get(i) !== arr[i] || !sH.has(i) && arr[i] !== 0) {
return false;
}
}
return true;
};