在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ js對象賦值

js對象賦值

下面代碼中,哪一步是把key(h,e,l...這些字母)放進obj里面的
是不是在 if(obj[str1[i]]) 這步里面判斷假如沒有就放進去
注:代碼是統(tǒng)計字符串中每個字符的出現(xiàn)頻率,返回一個 Object,key 為統(tǒng)計字符,value 為出現(xiàn)頻率

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}
回答
編輯回答
嫑吢丕
哪一步是把key(h,e,l...這些字母)放進obj里面的
是不是在 if(obj[str1[i]]) 這步里面判斷假如沒有就放進去

兩個問題可以一起回答:

    if(obj[str1[i]]){ //如果 obj 里已經(jīng)記錄了這個字符,這個字符的計數(shù)+1
        obj[str1[i]]++;
    }
    else{ //如果 obj 里沒有這個字符,那么給 obj 添加這個字符屬性,這個字符屬性的計數(shù)=1
        obj[str1[i]]=1;
    }
2017年12月26日 14:09
編輯回答
夢若殤

我對整個代碼的解釋如下,希望能對你有所幫助!

function count(str)
{
    var obj={}; //定義一個對象用于存儲和統(tǒng)計字符出現(xiàn)的個數(shù)
    var str1=str.match(/\S/g);  //對傳入的字符串分割成數(shù)組
    for(var i in str1){  //循環(huán)
        if(obj[str1[i]]){ //查看當前循環(huán)的str1[i]是否在obj中存在,若存在,則對應(yīng)的數(shù)值加1
            obj[str1[i]]++;
        }
        else{ //若不存在,便給obj添加一個key值為str1[i],value值為1的對象
            obj[str1[i]]=1;
        }
    }
    return obj; //返回統(tǒng)計的字符串的對象
}
2018年5月8日 03:55
編輯回答
司令
else{ //可以看作是if(obj[str1[i]]===undefined)的簡寫
        obj[str1[i]]=1;
    }

obj 里面沒有對應(yīng)的 key沒有,就手動放進去,初始化頻數(shù) value為 1.

2017年7月27日 06:53
編輯回答
夏木
else{ //可以看作是if(obj[str1[i]]===undefined)的簡寫
        obj[str1[i]]=1;
    }

這步

2017年2月1日 03:30