2013-02-16 111 views
0

我使用CoffeeScript和Underscore.js来横切一个对象,并设置一个如果它的属性存在。这里是我的代码:在Underscore.js中设置对象属性

_.each parsedJSON.name, (val) => 
    if _.has(val, 'animation') 
    console.log 'Number of frames = ', _.size(val.frames) 
    val.animation.frames = _.size(val.frames) 

我的代码正确测试的对象中“动画”的存在,并正确记录中的数值的“框架”属性的大小。

但val.animation.frames属性保持不变。

仅供参考我上运行此对象是低于,赞赏任何帮助:

{ 
    "name": { 
     "cinema": { 
      "size": { 
       "w": 256, 
       "h": 200 
      }, 
      "tile": { 
       "baseW": 0, 
       "baseH": 0, 
       "drawW": 0, 
       "drawH": 0 
      }, 
      "frame": { 
       "x": 0, 
       "y": 0, 
       "w": 256, 
       "h": 200 
      } 
     }, 
     "dirt": { 
      "size": { 
       "w": 128, 
       "h": 64 
      }, 
      "tile": { 
       "baseW": 0, 
       "baseH": 0, 
       "drawW": 0, 
       "drawH": 0 
      }, 
      "animaton": { 
       "frames": 0, 
       "speed": 0 
      }, 
      "frames": { 
       "frame1": { 
        "x": 128, 
        "y": 310, 
        "w": 128, 
        "h": 64 
       }, 
       "frame2": { 
        "x": 128, 
        "y": 310, 
        "w": 128, 
        "h": 64 
       }, 
       "frame3": { 
        "x": 128, 
        "y": 310, 
        "w": 128, 
        "h": 64 
       }, 
       "frame4": { 
        "x": 128, 
        "y": 310, 
        "w": 128, 
        "h": 64 
       } 
      } 
     }, 
     "grass": { 
      "size": { 
       "w": 128, 
       "h": 64 
      }, 
      "tile": { 
       "baseW": 0, 
       "baseH": 0, 
       "drawW": 0, 
       "drawH": 0 
      }, 
      "animaton": { 
       "frames": 0, 
       "speed": 0 
      }, 
      "frames": { 
       "frame1": { 
        "x": 0, 
        "y": 310, 
        "w": 128, 
        "h": 64 
       }, 
       "frame2": { 
        "x": 0, 
        "y": 310, 
        "w": 128, 
        "h": 64 
       } 
      } 
     }, 
     "icecream": { 
      "size": { 
       "w": 128, 
       "h": 110 
      }, 
      "tile": { 
       "baseW": 0, 
       "baseH": 0, 
       "drawW": 0, 
       "drawH": 0 
      }, 
      "frame": { 
       "x": 128, 
       "y": 200, 
       "w": 128, 
       "h": 110 
      } 
     }, 
     "tree": { 
      "size": { 
       "w": 128, 
       "h": 110 
      }, 
      "tile": { 
       "baseW": 0, 
       "baseH": 0, 
       "drawW": 0, 
       "drawH": 0 
      }, 
      "frame": { 
       "x": 0, 
       "y": 200, 
       "w": 128, 
       "h": 110 
      } 
     } 
    } 
} 
+0

你怎么看,它是不变的? – Bergi 2013-02-16 17:04:59

回答

1

这只是一个错字:animatonanimation

+0

我更正了错字,但动画中的框架属性仍未更改。 – 2013-02-16 16:23:49

+0

@JamieFearon,它仍然不适合你或一切都好吗?我的控制台:https://dl.dropbox.com/u/15832761/temp/undrscr.png – 2013-02-16 17:37:43

+0

现在正在工作,谢谢。 – 2013-02-16 18:39:23