下面代码中,哪一步是把key(h,e,l...这些字母)放进obj里面的 是不是在 if(obj[str1[i]]) 这步里面判断假如没有就放进去注:代码是统计字符串中每个字符的出现频率,返回一个 Object,key 为统计字符,value 为出现频率function count(str){var obj={};var str1=str.match(/\S/g)for(var i in str1){ if(obj[str1[i]]){ //这里str1[i]表示遍历出的每一个属性 obj[str1[i]]++; } else{ //可以看作是if(obj[str1[i]]===undefined)的简写 obj[str1[i]]=1; }}return obj;}输入'hello world'输出{h: 1, e: 1, l: 3, o: 2, w: 1, r: 1, d: 1}
4 回答
幕布斯7119047
TA贡献1794条经验 获得超8个赞
else{ //可以看作是if(obj[str1[i]]===undefined)的简写
obj[str1[i]]=1;
}
obj 里面没有对应的 key没有,就手动放进去,初始化频数 value为 1.
慕无忌1623718
TA贡献1744条经验 获得超4个赞
哪一步是把key(h,e,l...这些字母)放进obj里面的
是不是在 if(obj[str1[i]]) 这步里面判断假如没有就放进去
两个问题可以一起回答:
if(obj[str1[i]]){ //如果 obj 里已经记录了这个字符,这个字符的计数+1
obj[str1[i]]++;
}
else{ //如果 obj 里没有这个字符,那么给 obj 添加这个字符属性,这个字符属性的计数=1
obj[str1[i]]=1;
}
添加回答
举报
0/150
提交
取消