-1
votes

Sec combiner deux fonctions dans un

J'essaie de refacturer mon code et j'ai remarqué que je me répète. Se demandait s'il y a un moyen de combiner ces deux fonctions en une fois? XXX


2 commentaires

Peut-être const fn = (article, dtoset) => Article [dtoset] .Reduce (... ?


Je vote pour fermer cette question car il n'est pas approprié pour le débordement de la pile et doit être sur codereview.stackege.com .


3 Réponses :


1
votes

Tout d'abord, vous auriez besoin de fonction que vous passerez à la fonction Réduire en tant que rappel. Pour cela, vous pouvez utiliser un fonction d'ordre supérieur qui est fondamentalement une fonction qui renvoie une fonction. Nous pouvons appeler cette fonction sèche code> xxx pré>

alors nous pouvons extraire l'objet initial qui est transmis à la réduction du rappel: P>

export const fn1 = article => article.categoryValueDtoSet.reduce(dry('categoryValue'), { ...initialValueObject });

export const fn2 = article => article.titleDtoSet.reduce(dry('titleValue'), { ...intialValueObject });


1 commentaires

Merci! A eu l'idée



0
votes

Il y a presque toujours toujours un moyen. Pourriez-vous être plus précis avec vos contraintes?

Si rien d'autre, vous pouvez partager la logique P>

let reducer = (res, item) => {
  const result = { ...res };
  if (item.language) {
    const language = item.language.languageValue;
    const category = item.categoryValue;
    result[language] = category;
  }
  return result;
}

export const fn1 = article => article.categoryValueDtoSet.reduce(reducer, { it: undefined, de: undefined, en: undefined });


export const fn2 = article => article.titleDtoSet.reduce(reducer, { it: undefined, de: undefined, en: undefined });


0 commentaires

0
votes

Le plus simple et le plus simple, bien que de mauvaise nommage parce que je ne sais pas ce que tout cela représente: xxx


1 commentaires

Un peu confus, je ne comprends pas où Fn2 reçoit le titre ici?