2016-08-04 4 views
-1

Я добавил первую функцию superscriptDesignation к этому коду и теперь хочу называть ее элементами в командных именах. DoingДобавление моей функции в другую?

return superscriptDesignation(teamDesignations); 

дает мне ошибку в консоли, что .replace не определен. Как я могу добавить функцию superscriptDesignation в teamDesignations?

JS

var superscriptDesignation = function(designation) { 
     return designation.replace(/(®)/ig, "<sup>&reg;</sup>").replace(/(™)/ig, "<sup> &#153;</sup>"); 
    }; 
    var getTeamDesignations = function(profile) { 
     //Designations for a single team member                                
     var teamDesignations = []; 
     if (profile.team_members) { 
      teamDesignations = _.chain(profile.team_members) 
       .filter(_.compose(_.isArray, _.property('team_member_designations'))) 
       .map(_.property('team_member_designations')) 
       .flatten() 
       .uniq() 
       .value(); 
     } 
     return teamDesignations; 
    }; 
+0

когда вы получите эту ошибку? –

+0

Кажется, вы предоставляете нестрочное значение функции 'superscriptDesignation'. Или не предоставляя его вообще. – 1ven

+0

вы не передаете аргумент в superscriptDesignation, поэтому он жалуется на .replace не является функцией. –

ответ

-1

То, что это заставляет меня думать, что teamDesignations не является строкой, когда она передается в superScriptDesignations. .replace() - это всего лишь метод прототипа String.

Я не знаком с .uniq() и .flatten(), но является ли результатом этого метода цепочкой цепочку? В любом случае, это все в инструкции if, поэтому, если это не выполняется, teamDesignations может быть пустым массивом, когда он передан в superScriptDesignation.

Вы можете изменить метод replace() в первой функции для обработки массивов или поместить некоторую обработку ошибок, чтобы гарантировать, что этот параметр является строкой. i.e:

var superscriptDesignation = function(designation) { 
    if(typeof(designation === 'string)) { 
     //... do your stuff 
    } 
}; 
Смежные вопросы