请问(res[str[i]])啥意思啊?

解决方案 »

  1.   

    var res={} //创建一个空数组
    str是调用方法时传入的参数,在这里就是字符串'aaabc'
    for循环在这里通过计数器i遍历字符串str中的每个字符,如i=0时,str[i]='a'
    res[str[i]]就是把数组中一个个字符拿来做键名了。如i=0时,res[str[i]]等效于res['a']
    你这个函数的目的应该是统计一个字符串中字符出现的个数。字符是键名,出现的个数是键值
      

  2.   

    对象属性两种写法:
    1.  obj.xxx = '';   
    2.  obj['xxx'] = '';
    ----------------------------
    var res = {};   // 创建一个空对象;
    通过下面console.log中的函数调用可以看到 str = 'aaabc';
    通过for循环取str的每一位字符;
    res[str[i]]  == res['a']  == res.a
    ---------------------------------
    if判断 res有这个属性 就自增,没有就初始化属性值 = 1;
    这个就是统计字符串每一位字符出现的次数
      

  3.   

    res是个对象,里面的属性通过遍历str数组获取,比如str[0] = "name"; res:{"name": "Nana"}; res[str[0]] = "Nana";
      

  4.   

    res一开始是空的,res[str[i]]判断str[i]的值是不是res的键,第一次res[str[i]]的值肯定是undefined,走else,res[str[i]]就变成1了