统计字符串出现次数最多

这几天公司面试新人,出了一道题,统计字符串出现次数最多

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)]++;    }

    对象加[]这种是什么做法?


蝴蝶不菲
浏览 629回答 1
1回答

qq_花开花谢_0

在json中取一个key为str.charAt(i)的value,功能和.一样,比如'var json = {a: 3},但是又有一些区别:[]总是能代替点运算符。但"."不一定能全部代替[][]可以用字符串变量的内容作为属性名[]可以用纯数字为属性名[]可以用js的关键字和保留字作为属性名
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript