Tout cela est dans le contexte d'un programme plus vaste, alors je vais essayer de le garder simple, montrant uniquement les lignes incriminées. J'ai une gamme de valeurs qui sont des chiffres dans la chaîne forment un "84", "32", etc.
cette ligne p> impressions: p > 4 "84" NaN 84
4 Réponses :
parseint code> prendrait tout à partir du début de son argument qui ressemble à un numéro et ne tient pas compte du reste. Dans votre cas, l'argument que vous l'appelez avec le démarrage avec
" code>, alors rien ne ressemble à un numéro, et il essaie de lancer une chaîne vide, ce qui n'est vraiment pas un nombre. P>
Vous pouvez essayer de supprimer les citations de la chaîne à traiter à l'aide de cette fonction:
parseInt(unsolved[0], 10);
Utilisé ceci - Valeur de retour modifiée à m_strout cependant :)
Vous devez vous assurer que l'élément de tableau est en effet une chaîne qui est possible d'analyser un nombre. Votre élément de tableau ne contient pas la valeur vous 'll veut supprimer le '84 ' code>, mais la valeur
' "84" ' code> (une chaîne contenant un numéro encapsulé par ")
" code> à partir de vos éléments de matrice, possibles comme ceci: p>
function removeQuotationMarks(string) {
return (typeof string === 'string') ? string.replace(/"|'/g, '') : string;
}
unsolved = unsolved.map(removeQuotationMarks);
Grand effort :)
Nous devons d'abord remplacer "à" dans Donnez des données à l'aide de regex et de remplacer, puis nous devons lancer.
p>
var i = 1; var j = "22" function stringToNumber(n) { return (typeof n === 'string') ? parseInt(Number(n.replace(/"|'/g, ''))) : n; } console.log(stringToNumber(i)); // 1 console.log(stringToNumber(j)); // 22
Est-ce que
non résolu [0] code> inclure les guillemets doubles dans sa valeur réelle?
La valeur de
non résolu [0] code> semble être
'"84"' code> au lieu de
'84 ' code>
C'est - ça doit être le problème, je pense