260 votes

Comment convertir une chaîne de chiffres en un tableau de chiffres ?

J'ai la chaîne ci-dessous -

var a = "1,2,3,4";

quand je le fais -

var b = a.split(',');

Je reçois b como ["1", "2", "3", "4"]

Je peux faire quelque chose pour que b como [1, 2, 3, 4] ?

3voto

Mohan Dere Points 21

La méthode de l'underscore js -

var a = "1,2,3,4",
  b = a.split(',');

//remove falsy/empty values from array after split
b = _.compact(b);
//then Convert array of string values into Integer
b = _.map(b, Number);

console.log('Log String to Int conversion @b =', b);

3voto

FreeClimb Points 530

Version de Matt Zeunert avec utilisation de la fonction arraw (ES6)

const nums = a.split(',').map(x => parseInt(x, 10));

2voto

Arvis Iljins Points 127

Cela fonctionne parfaitement si vous avez besoin de convertir un tableau de chaînes de caractères en nombres.

const numbers = arr => arr.map(Number);
numbers(['1', '2', '3','4']);     // [1, 2, 3, 4]

1voto

user7986267 Points 60

Puisque toutes les réponses permettent NaN pour être inclus, j'ai pensé ajouter que si vous voulez rapidement convertir un tableau de valeurs mixtes en nombres, vous pouvez le faire.

var a = "1,2,3,4,foo,bar";

var b = a.split(',');

var result = b.map(_=>_|0) // Floors the number (32-bit signed integer) so this wont work if you need all 64 bits.

// or b.map(_=>_||0) if you know your array is just numbers but may include NaN.

1voto

JackNavaRow Points 187

Vous pouvez utiliser JSON.parse ajouter des paniers au format Array

const a = "1,2,3,4";
const myArray = JSON.parse(`[${a}]`)
console.log(myArray)
console.info('pos 2 = ',  myArray[2])

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X