首页 > 一个神奇的问题!!!

一个神奇的问题!!!

如图所示,定义一个yMap,然后打印,然后 yMap['3']['1715'] 这个值从 1 变成了 5

而且,更改 yMap['3']['1715'] 这个key 为其他值,比如:yMap['3']['1720'],打印的时候又会自动变回 yMap['3']['1715']

求教这个是什么原因?

附:

var yMap = {

            '1': {
                '0600': 0,
                '0615': 1,
                '0630': 2,
                '0645': 3,
                '0700': 4,
                '0715': 5,
                '0730': 6,
                '0745': 7,
                '0800': 8,
                '0815': 9,
                '0830': 10,
                '0845': 11,
                '0900': 12
            },
            '2': {
                '1100': 0,
                '1120': 1,
                '1130': 2,
                '1145': 3,
                '1200': 4,
                '1215': 5,
                '1230': 6,
                '1245': 7,
                '1300': 8,
                '1315': 9,
                '1330': 10,
                '1345': 11,
                '1400': 12
            },
            '3': {
                '1700': 0,
                '1715': 1,
                '1730': 2,
                '1745': 3,
                '1800': 4,
                '1715': 5,
                '1830': 6,
                '1845': 7,
                '1900': 8,
                '1915': 9,
                '1930': 10,
                '1945': 11,
                '2000': 12
            }
        };

楼上说的对的了,就是你3对象里两个1715,造成你的错觉


大哥,你的yMap 3对应的object里面,有两个‘1715’诶。。。


楼主仔细看运行结果吧,这不神奇,可能是人太神奇了



覆盖了1715



对象重复定义属性,后面的会覆盖前面的


'3': {
                '1700': 0,
                '1715': 1,
                '1730': 2,
                '1745': 3,
                '1800': 4,
                '1715': 5,
                '1830': 6,
                '1845': 7,
                '1900': 8,
                '1915': 9,
                '1930': 10,
                '1945': 11,
                '2000': 12
            }
        
        

你定义了2个1715啊, 后面的覆盖前面的

【热门文章】
【热门文章】