Je reçois des données d'une connexion websocket sur une page, le problème est que je reçois un tableau JSON de tableaux de chaînes alors que j'ai besoin d'un tableau de tableaux de nombres. Voici un instantané du tableau:

var myArr = 
[["7106.86000000", "0.00255500"],
["7107.34000000", "0.00274200"],
["7107.55000000", "0.11258800"],
["7107.58000000", "0.20000000"],
["7107.67000000", "0.17947000"],
["7107.82000000", "0.08443900"],
["7107.91000000", "0.40000000"],
["7108.00000000", "0.08000000"],
["7108.04000000", "0.00500000"],
["7108.22000000", "0.00200000"],
["7108.31000000", "0.32130200"],
["7108.34000000", "0.32127500"],
]

Comment puis-je convertir ces chaînes en nombre? Dois-je utiliser ma propre fonction ou il existe déjà une fonctionnalité intégrée pour le faire? Merci d'avance!

1
All01 23 avril 2020 à 00:58

2 réponses

Meilleure réponse

Vous n'avez pas besoin de jQuery pour y parvenir.

const newArray = myArr.map( childArr => childArr.map( value => Number( value ) ) )

Il parcourt myArr (un tableau de tableaux) et fait la même chose sur les enfants. .map() renvoie un nouveau tableau.

1
Deykun 22 avril 2020 à 22:03
var myArr = [
  ["7106.86000000", "0.00255500"],
  ["7107.34000000", "0.00274200"],
  ["7107.55000000", "0.11258800"],
  ["7107.58000000", "0.20000000"],
  ["7107.67000000", "0.17947000"],
  ["7107.82000000", "0.08443900"],
  ["7107.91000000", "0.40000000"],
  ["7108.00000000", "0.08000000"],
  ["7108.04000000", "0.00500000"],
  ["7108.22000000", "0.00200000"],
  ["7108.31000000", "0.32130200"],
  ["7108.34000000", "0.32127500"],
]

const numberArr = myArr.map(x => x.map(y => parseFloat(y)))
console.log(numberArr)
1
Eugen Sunic 22 avril 2020 à 22:03