2014-05-10 2 views
2

У меня есть два noderefs в javascript файле alfresco, который я пытаюсь сравнить, как показано ниже.Как сравнить два noderefs в alfresco javascript

if(personRef == userAsscNodeRef){ 
    do something 
}else{ 
    do something else 
} 

Это похоже синтаксически правильно, но всегда идет в другую часть. Я пробовал со строгим равным i.e. ===, а также добавлял .toString() к обоим noderefs, но все равно тот же результат.

Как это возможно?

С уважением.

ответ

3

Предполагая, что это уровень репо Javascript, вы действительно имеем дело с Java NodeRef объектов и == ведет себя, как это делает в Java и сравнивает идентичность. Вы хотите сравнить эквивалентность, поэтому используйте personRef.equals(userAssocNodeRef). Да, довольно неожиданное поведение. Остерегайтесь объектов Строки и Дата.

0

Использование String():

if(String(personRef) == String(userAsscNodeRef)){ 
    do something 
}else{ 
    do something else 
} 
Смежные вопросы