2015-12-13 3 views
0

У меня есть javascript, который проверяет несколько полей в Dynamics CRM. Если некоторые из них или все являются «1», он будет использовать максимальное значение для использования в расчете. я вставил часть сценария:javascript получить вторую переменную из массива

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 узнал процент использования?

ответ

1

С помощью структурированных данных я бы добавил объекты уровня к массиву, а затем фильтр chance. filter возвращает массив, поэтому вам нужно взять первый элемент [0], который является объектом, а затем значением метки этого объекта.

var label = [level1, level2].filter(function (el) { 
    return el[0] === chance; 
})[0].label; // MySecondLabel 

DEMO

+0

Спасибо большое, что помогло! – Certius

0

Прежде всего, вы могли бы сделать функцию конструктора объявить экземпляры объектов, во-вторых level1 и level2 объекты, поэтому в основном есть два способа доступа свойства объекта:

  • Точечные обозначения, например. level1.lebel или level1.percentage
  • [] обозначение. Вам нужно ввести ключ, а не номер индекса. Объекты не имеют индексов, это пары ключей и значений. а также они не упорядочены.
Смежные вопросы