为了账号安全,请及时绑定邮箱和手机立即绑定

参考后算解决了,但还有几点不清楚.

首先,中间循环体是循环判断变量的类型,通过typeOf函数,返回值是字符串然后赋值给变量t1,t2.

可这个

        if(map1[t1])
            map1[t1]++;
        else
            map1[t1] = 1;
        if(map2[t2])
            map2[t2]++;
        else
            map2[t2] = 1;

什么意思,map是数据结构中的键值对么?那这个赋值 没有太懂.

还有就是这个 最后的比较了

if(map1[TYPES[i]]!== map2[TYPES[i]])
        return false;


正在回答

2 回答

对对象不了解没关系,下周一更新的第四章《对象》章节建议仔细学习哦,在这之前快把二、三章搞清楚吧~~~

0 回复 有任何疑惑可以回复我~

map1就是对象呀,t1是对象的key,程序里作为类型的标识。

而值是该类型的出现次数。


由于题目要求判断时忽略顺序,所以用map记录每种类型的出现次数一致即可。例如:

map1的最后结果: {'number' : 1, 'string' : 5, 'null' : 3};

map2的最后结果: {'number' : 1, 'null' : 3, 'string' : 5};

如此来,两组数据number都出现1,次,string都是5次,null都是3次,这样就符合题目中要求的“同构”啦


反之,若遍历这些数据类型发现任何一个出现次数不同,就是异构。(最后的比较)


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

参考后算解决了,但还有几点不清楚.

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信