function unique(array) {
if(Set) {
return Array.from(new Set(array));
} else {
var newArray = [];
for(var i=0; i<array.length; i++) {
if(newArray.indexOf(array[i]) === -1) { // 无法去重NaN
newArray.push(array[i]);
}
}
// 对NaN进行一次过滤
var flag = false, length = newArray.length;
for(i=0; i<length; i++) {
if(typeof(newArray[i]) === 'number' && newArray[i].toString() === 'NaN') {
if(flag) {
newArray.splice(i,1);
length = newArray.length;
i--;
} else {
flag = true;
}
}
}
return newArray;
}
}
function topChar(string, n) {
var map = {}, arr = [];
for(var i=0; i<string.length; i++) {
if(typeof(map[string[i]]) == 'undefined') {
map[string[i]] = 1;
} else {
map[string[i]]++;
}
}
for(i in map) {
arr.push({
char: i,
count: map[i]
});
}
arr.sort(function(a,b) {
return b.count - a.count;
});
for(i=0; i<n; i++) {
console.log('top'+(i+1) + ':' + arr[i].char + ',出现次数:' + arr[i].count);
}
}
topChar('msmsmskskskmeeq', 3);
top1:s,出现次数:5
top2:m,出现次数:4
top3:k,出现次数:3
a = {
a: a,
b: b
};
b = a.a;
a = a.b;
}
function getStr(n) {
function getChar() {
var n = Math.floor(Math.random()*62); // 向下取整
if(n < 10) {
return n; // 0-9
} else if (n < 36) {
return String.fromCharCode(n+55); // A-Z
} else {
return String.fromCharCode(n+61); // a-z
}
}
var str = '';
for(var i=0; i<n; i++) {
str += getChar();
}
return str;
}