2
votes

Angular Convert Array en chaîne

J'ai le tableau suivant (testArray) et je souhaite extraire tous les états en string ('Arizona', 'Alaska', 'Florida', 'Hawaii', 'Gujarat', 'Goa', 'Punjab'. ..). Existe-t-il des moyens plus simples de le faire?

let testArray: State[];
testArray = this.getStates();

getStates() {
 return [
  new State(1, 1, 'Arizona'),
  new State(2, 1, 'Alaska'),
  new State(3, 1, 'Florida'),
  new State(4, 1, 'Hawaii'),
  new State(5, 2, 'Gujarat'),
  new State(6, 2, 'Goa'),
  new State(7, 2, 'Punjab'),
  new State(8, 3, 'Queensland'),
  new State(9, 3, 'South Australia'),
  new State(10, 3, 'Tasmania'),
  new State(11, 4, 'Penang')
 ];
}


6 commentaires

stackoverflow.com/q/26575018/5026957


Cela dépend de la façon dont est définie la classe State, et en fait ce n'est pas lié à Angular. Angular n'est qu'un framework, c'est juste une fonctionnalité dactylographiée


@ CristianTraìna en fait TypeScript est juste un dialecte de JavaScript, et n'existe pas au moment de l'exécution. C'est une fonctionnalité javascript :)


Comme mentionné ci-dessus est lié à JavaScript, vous pouvez utiliser la fonction de carte pour extraire des valeurs telles que testArray.map ((state) => {return state.name})


@NikhilWalvekar ou simplement testArray.map (state => state.name)


Double possible de Effectuer .join sur une valeur dans un tableau d'objets et Javascript transforme la propriété des objets du tableau en une chaîne et Comment convertir un objet en chaîne


3 Réponses :


9
votes

Le moyen le plus simple est le suivant

function State(id,val,StateName) {
  this.id = id;
  this.val = val;
  this.StateName = StateName;
}

function getStates() {
 return [
  new State(1, 1, 'Arizona'),
  new State(2, 1, 'Alaska'),
  new State(3, 1, 'Florida'),
  new State(4, 1, 'Hawaii'),
  new State(5, 2, 'Gujarat'),
  new State(6, 2, 'Goa'),
  new State(7, 2, 'Punjab'),
  new State(8, 3, 'Queensland'),
  new State(9, 3, 'South Australia'),
  new State(10, 3, 'Tasmania'),
  new State(11, 4, 'Penang')
 ];
}

//Simplest Way is as follows
console.log(getStates().map(x=>x.StateName).join(","))

Un exemple est donné ci-dessous

getStates().map(x=>x.StateName).join(",")


1 commentaires

@scholarwithfire Bienvenue :)




0
votes

Eh bien, le moyen le plus simple de convertir un tableau en chaîne séparée par des virgules est

var commaSeperatedString = arrayName.toString(); 


0 commentaires