我有一个像这样的javascript对象:
{ "a":4, "b":0.5 , "c":0.35, "d":5 }
Run Code Online (Sandbox Code Playgroud)
有没有一种快速的方法来获得属性中的最小值和最大值,而无需遍历所有属性?因为我拥有的物体很大,我需要每两秒钟获得一次最小值/最大值.(对象的值不断变化).
请考虑此键值对:
var dict_Numbers = {"96": "0",
"97": "1",
"98": "2",
"99": "1",
"100": "4",
"101": "0"}
Run Code Online (Sandbox Code Playgroud)
我希望获得最高价值,在这个例子中是:101.
我怎么能这样做?
谢谢
更新1:
我使用这段代码:快速获取对象属性中的最小/最大值和获取对象最高值的键
但两者都返回Max Value或comapre值
我正在制作一个简单的RPG,并尝试计算角色升级时应增加哪个属性。它们对每个属性都有潜在的限制,我想增加距离其潜力最远的属性。
我可以遍历每个属性,并从其潜在值中减去其当前值以获得差值。然后,我可以将差异推到数组中。结果看起来像:
[
{Strength: 5},
{Dexterity: 6},
{Constitution: 3},
{Wisdom: 4},
{Charisma: 8}
]
Run Code Online (Sandbox Code Playgroud)
Charisma是差异最大的键,那么如何评估此值并返回键的名称(而不是值本身)?
编辑:这是用于获取数组的逻辑:
let difference = [];
let key;
for (key in currentAttributes) {
difference.push({[key]: potentialAttributes[key] - currentAttributes[key]});
};
Run Code Online (Sandbox Code Playgroud)