参考答案中这段代码是啥意思?

来源:1-6 编程练习

DOFOR

2017-08-09 12:02

            for(;i<n;i++)

            {

                t1=typeOf(arr1[i]);

                t2=typeOf(arr2[i]);

                if(countMap1[t1])

                {

                    countMap1[t1]++;

                }

                else

                {

                    countMap1[t1]=1;

                }

                if(countMap2[t2])

                {

                    countMap2[t2]++;

                }

                else

                {

                    countMap2[t2]=1;

                }

            }


写回答 关注

1回答

  • 左旋cZ
    2017-08-09 15:58:45
    已采纳

    t1是第一个数组第i个元素的类型,t2是第二个数组第i个元素的类型.然后依次存入countMap1和countMap2中.其中以t1和t2为键,当countMap中没有该数据的计数为1,否则原来的数据++.这样就是来使其符合条件( 数组中的成员类型相同,顺序可以不同),意思就是数据种类和相应数量相同,顺序可以不同.最后再对countMap1和countMap1的键值对进行对比来看是否符合条件.

    qq_会长大... 回复恕_20

    countMap1[t1]这里边的t1是键(也就是countMap1对象中的一个属性,而countMap1[t1]也就是属性值),countMap1[t1]就是键值,所以if的条件判断里边的意思就是这个值是否为0,如果为0就说明是没有这个属性,把这个属性值设为1;如果不为0就说明存在这个属性,那么就在原值的基础上加1 最终countMap1中存入的就是arr1中所有数据类型的种类和对应的个数

    2017-11-03 10:22:55

    共 3 条回复 >

JavaScript深入浅出

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

281102 学习 · 1020 问题

查看课程

相似问题