这几天公司面试新人,出了一道题,统计字符串出现次数最多var str = 'asdfssaaasasasasaa';
var json = {};for (var i = 0; i < str.length; i++) { if(!json[str.charAt(i)]){
json[str.charAt(i)] = 1;
}else{
json[str.charAt(i)]++;
}
};
var Max = 0;
var Index = '';for(var i in json){ if(json[i]>iMax){ Max = json[i];
Index = i;
}
}
console.log('出现次数最多的是:'+Index+'出现'+Max+'次');我用了另一种方法,同事说那样执行效率低,写了这种给我看,其中有一步不懂 if(!json[str.charAt(i)]){ json[str.charAt(i)] = 1;
}else{
json[str.charAt(i)]++; }
对象加[]这种是什么做法?
1 回答

qq_花开花谢_0
TA贡献1835条经验 获得超7个赞
在json中取一个key为str.charAt(i)的value,功能和.
一样,比如'var json = {a: 3},
但是又有一些区别:
[]总是能代替点运算符。但"."不一定能全部代替[]
[]可以用字符串变量的内容作为属性名
[]可以用纯数字为属性名
[]可以用js的关键字和保留字作为属性名
添加回答
举报
0/150
提交
取消