我有javascript检查Dynamics CRM中的多个字段。如果它们中的一些或全部为“1”,则它将使用最高值来计算。 我粘贴了一部分剧本:
var level1 = {
percentage: 0,
label: "MyLabel"
}
var level2 = {
percentage: 0,
label: "MySecondLabel"
}
if (Xrm.Page.getAttribute("conditioninterested").getValue() == 1) {
level1[0] = 50;
}
if (Xrm.Page.getAttribute("revenueconditionquote").getValue() == 1) {
level2[0] = 70;
}
var chance = Math.max(level1[0],level2[0]);
在Math.max找到要使用的百分比后,如何获得相应的标签?
答案 0 :(得分:1)
根据数据结构的方式,我会将关卡对象添加到数组中,然后按filter
进行过滤。 [0]
返回一个数组,因此您需要获取作为对象的第一个元素var label = [level1, level2].filter(function (el) {
return el[0] === chance;
})[0].label; // MySecondLabel
,然后获取该对象的标签值。
declare function local:strings($v as item()) as xs:string*
{
typeswitch ($v)
case $object as object() return
for $k in jn:keys($object)
return local:strings($object($k))
case $array as array() return
for $member in jn:members($array)
return local:strings($member)
default return $v
};
let $y := {"a":"welcome to the world of", "b":" JSONiq", "x":{"d":"m"}}
return string-join(local:strings($y), "@")
答案 1 :(得分:0)
首先,您可以使用构造函数来声明对象实例,其次 level1 和 level2 是对象,所以基本上有两种方法可以访问对象属性: