0
votes

convertir un tableau de chaînes en tableau de chaînes

En javascript, j'ai actuellement: "[11,8,7,6,5,4 "

Je voudrais le convertir en ["11", "8", "7", "6", "5", "4"]. J'ai essayé d'utiliser .split () sur la chaîne mais cela ne renvoie pas le résultat souhaité, ainsi que toutes les autres tentatives. Merci


2 commentaires

Est-ce que cela répond à votre question? Convertir la chaîne avec des virgules en tableau


pouvez-vous montrer du code de ce que vous avez essayé avec split ()?


6 Réponses :


2
votes

En utilisant la méthode match de la chaîne et cette expression régulière / \ d + / g , vous obtiendrez la sortie attendue.

var string = "[11,8,7,6,5,4]";

var result = string.match(/\d+/g);

console.log(result);


0 commentaires

5
votes

Le moyen le plus rapide: (Mis à jour)

JSON.parse("[11,8,7,6,5,4]").map(String)


1 commentaires

ou, vous pouvez également le faire .map (String)



0
votes

Il semble que vous recherchiez ceci:

console.log(eval("[11,8,7,6,5,4]").map(String))


0 commentaires

0
votes
  • L'analyse d'une chaîne la convertira en tableau.
  • Plus tard, vous pourrez mapper chaque élément du tableau sur une chaîne, puis vous aurez un tableau de chaînes
  • let array = JSON.parse("[11,8,7,6,5,4]");
    let arrayOfStrings = array.map(item => `${item}`);
    
    console.log('array', array);
    console.log('arrayOfStrings', arrayOfStrings);

    PS: j'ai utilisé les fonctions fléchées, vous pouvez passer à la syntaxe fonctionnelle de base.


3 commentaires

Bien que ce code puisse résoudre le problème du PO, il est préférable d'inclure une explication sur la façon dont votre code résout le problème du PO. De cette manière, les futurs visiteurs peuvent apprendre de votre publication et l'appliquer à leur propre code. SO n'est pas un service de codage, mais une ressource de connaissances. De plus, les réponses complètes et de haute qualité sont plus susceptibles d'être votées. Ces fonctionnalités, ainsi que l'exigence que tous les messages soient autonomes, sont quelques-unes des forces de SO en tant que plate-forme, qui le différencie des forums. Vous pouvez modifier pour ajouter des informations supplémentaires et / ou pour compléter vos explications avec la documentation source.


Bien que cet extrait de code puisse résoudre la question, inclure une explication aide vraiment à améliorer la qualité de votre message. N'oubliez pas que vous répondez à la question aux lecteurs à l'avenir, et que ces personnes pourraient ne pas connaître les raisons de votre suggestion de code.


Merci, je suis totalement d'accord avec votre opinion et modifierai ma réponse.



0
votes

Vous pouvez utiliser une boucle for pour les convertir en chaînes si c'est tout ce que vous voulez:

for(num of numArray){
num = num.toString();
}


0 commentaires

0
votes
var obj = JSON.parse("[11,8,7,6,5,4]");
var out=obj.map(String);
console.log(out);

Parse the data with JSON.parse(), and the data becomes a JavaScript object. (https://www.w3schools.com/js/js_json_parse.asp)
.map function is like apply function of python or R, which acts on each element of the incoming array using the function defined within the parentheses; i.e. The map() method creates a new array with the results of calling a function for every array element. (https://www.w3schools.com/jsref/jsref_map.asp)

1 commentaires

Bien que ce code puisse résoudre le problème du PO, il est préférable d'inclure une explication sur la façon dont votre code résout le problème du PO. De cette manière, les futurs visiteurs peuvent apprendre de votre publication et l'appliquer à leur propre code. SO n'est pas un service de codage, mais une ressource de connaissances. De plus, les réponses complètes et de haute qualité sont plus susceptibles d'être votées. Ces fonctionnalités, ainsi que l'exigence que tous les messages soient autonomes, sont quelques-unes des forces de SO en tant que plate-forme, qui le différencie des forums. Vous pouvez modifier pour ajouter des informations supplémentaires et / ou pour compléter vos explications avec la documentation source.