參考后算解決了,但還有幾點(diǎn)不清楚.
首先,中間循環(huán)體是循環(huán)判斷變量的類型,通過(guò)typeOf函數(shù),返回值是字符串然后賦值給變量t1,t2.
可這個(gè)
????????if(map1[t1]) ????????????map1[t1]++; ????????else ????????????map1[t1]?=?1; ????????if(map2[t2]) ????????????map2[t2]++; ????????else ????????????map2[t2]?=?1;
什么意思,map是數(shù)據(jù)結(jié)構(gòu)中的鍵值對(duì)么?那這個(gè)賦值 沒(méi)有太懂.
還有就是這個(gè) 最后的比較了
if(map1[TYPES[i]]!==?map2[TYPES[i]]) ????????return?false;
2015-01-21
對(duì)對(duì)象不了解沒(méi)關(guān)系,下周一更新的第四章《對(duì)象》章節(jié)建議仔細(xì)學(xué)習(xí)哦,在這之前快把二、三章搞清楚吧~~~
2015-01-21
map1就是對(duì)象呀,t1是對(duì)象的key,程序里作為類型的標(biāo)識(shí)。
而值是該類型的出現(xiàn)次數(shù)。
由于題目要求判斷時(shí)忽略順序,所以用map記錄每種類型的出現(xiàn)次數(shù)一致即可。例如:
map1的最后結(jié)果: {'number' : 1, 'string' : 5, 'null' : 3};
map2的最后結(jié)果: {'number' : 1, 'null' : 3, 'string' : 5};
如此來(lái),兩組數(shù)據(jù)number都出現(xiàn)1,次,string都是5次,null都是3次,這樣就符合題目中要求的“同構(gòu)”啦
反之,若遍歷這些數(shù)據(jù)類型發(fā)現(xiàn)任何一個(gè)出現(xiàn)次數(shù)不同,就是異構(gòu)。(最后的比較)