JSは2種類の統計文字を分析して重さを取り除く方法
2498 ワード
1つ目:方法
これは私はそんなに多く言わないで、比较的に简単で、后ろにプラスする注釈を见て理解することができます
Document
// , {a:?, b:?, c:?, d:?} var str = "jshacguadsadadasdwhdagjsdgauids"; var obj = {}; // obj // :↓↓↓ // obj.a ? // a, 1 // obj.a ? // a ++ // obj.b ? // b, 1 // obj.c ? // c, 1 // obj.c ? // c ++ for(var i=0;i<str.length;i++){ // if(obj[str[i]]){ obj[str[i]]++; }else{ // obj str[i] , +, else , obj[str[i]] = 1; //else , , , obj[str[i]] 1, i( , ) , ? obj[str[i]] 1 , obj , if true 2, ++ } // ? str[i] a ,obj[str[i]]=obj[a] ? obj[a] underfind , else obj[a] , obj[a]=1; a ? 1 , if true, 。 } console.log(obj); // , abcd // key var sumStr = ""; for(var i in obj){ sumStr += i; } console.log(sumStr);
零碎知识补充:
格式:
var str = [];
var obj = { }
obj[str[i]]
总结:对象里取一个变量数组的值,这时要用[]去解析。
第二种:方法
var str="aabbbbccd";
var sum=[]; //
var res=[]; //
var count=0;
var arr=str.split(""); //
for(var i=0;i<arr.length;i++){
if(res.indexOf(arr[i])==-1){ // , , , res
res.push(arr[i]);
}
}
for(var i=0;i<res.length;i++){
for(var j=0;j<arr.length;j++){ //res[i] arr[j]
if(arr[j]==res[i]){
count++; // ,
}
}
sum.push(count); //sum
count=0; //
}
// console.log(res); //
for(var i=0;i<res.length;i++){
console.log(res[i]+" "+sum[i]+" "); //
}
これは私はそんなに多く言わないで、比较的に简単で、后ろにプラスする注釈を见て理解することができます