gpt4 book ai didi

Underscore.js - 迭代对象并计算对象属性

转载 作者:行者123 更新时间:2023-12-04 01:30:01 24 4
gpt4 key购买 nike

我刚刚开始使用 Underscore.js,希望能就如何执行以下操作提供一些建议。我有以下已解析并存储在 parsedJson 变量中的 JSON:

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

我想要实现的是将 animation.frames 值(如果存在)设置为 frames 属性中的帧数。

所以 dirt.animation.frames 的值应该设置为 4。
grass.animation.frames 值应设置为 2。

我知道要计算 n 个对象中的属性数量,我可以使用 _size() 但我应该如何遍历对象中的每个名称并设置 animation.speed 值(如果存在)。此对象也是动态的,因此其中可以包含任意数量的名称。

感谢您的帮助,答案将使我在正确的方向上开始使用 underscore.js。

注意:我使用的是 CoffeeScript

最佳答案

JS,不是 CS,而是:

_.each(obj.name,function(val){
if('animation' in val && 'frames' in val.animation) {
val.animation.frames = _.size(val.frames);
}
});

关于Underscore.js - 迭代对象并计算对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14905310/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com