ajouter des numéros dans la boucle for javascript
J'ai besoin de la somme de tous mes numéros à partir d'une boucle for avec javascript
var nums = ['100','300','400','60','40'];
for(var i=1; i < nums.length; i++){
var num = nums[i] + nums[i];
alert(num);
}
quelqu'un peut-il aider à http://jsfiddle.net/GYpd2/1/
le résultat, je suis à la recherche est de 900
Ce que vous faites actuellement est la concaténation de chaque chaîne avec elle-même et l'affectation du résultat de
num
. Je vous recommande de lire le MDN JavaScript Guide pour apprendre les bases.OriginalL'auteur user1503606 | 2012-07-27
Vous devez vous connecter pour publier un commentaire.
Testé: http://jsfiddle.net/GYpd2/6/ (grâce à user1503606)
Si
nums
contient uniquement des chiffres il n'est pas nécessaire pourparseInt()
.OriginalL'auteur Besnik
Par exemple, pour ES5 du
Array.prototype.reduce
méthode. Comme:Démo: http://jsfiddle.net/FwfmE/
OriginalL'auteur jAndy
Vous plaisantez? 🙂
Désolé, mon mauvais.. Mais quel est le sens de
+
sur la gauche denums[i];
?C'est l'opérateur unaire, il utilise pour convertir la chaîne en entier
essayez
+new Date()
🙂OriginalL'auteur Vitalii Petrychuk
OriginalL'auteur aefxx
Si vous avez un fonction de réduction , il vous suffit de faire ceci:
OriginalL'auteur Scott Sauyet
De faire comme ceci
La boucle commence avec 0 non 1.
total
variable doit être déclarée avant la boucle ou autre chose, elle ne permet pas de conserver le précédent plus.Nombre d'utilisation() convertit une chaîne en nombre.
L'ajout de chaîne signifie que concatitation
'100'
+'200'
donnera'100200'
.OriginalL'auteur Subir Kumar Sao
Ici est JSFiddle
et le code est:
OriginalL'auteur Zaheer Ahmed
Javascript est le traitement de vos numéros de chaînes, et la concaténation d'ensemble au lieu de les ajouter comme vous vous attendez.
Utilisation
parseInt
pour les convertir en nombres entiers avant d'ajouter:La deuxième paramètre dit
parseInt
à l'utilisation de la base 10.J'ai éradiqué toutes les
var
OriginalL'auteur Michael Robinson
Vous ne devriez pas utiliser la
var
énoncé à l'intérieur d'une boucle. Aussi laparseInt
fonction utilisée dans d'autres réponses seront toujours convertir le nombre en nombre entier de sorte qu'il ne serait pas travailler avec des nombres à virgule flottante. Le préfixe des numéros avec+
va les convertir en un nombre.Si vous développez pour le navigateur, à l'aide de la
reduce
fonction peut causer des problèmes avec les anciens navigateurs (sauf si vous trouvez un polyfill.OriginalL'auteur Max Kueng
C'est la façon dont je l'ai fait. Il est très similaire à d'autres de code, mais d'une autre façon de l'écrire. Vous avez besoin pour démarrer votre première j'ai de la valeur à votre boucle de 0.
OriginalL'auteur user201827
Voici un exemple qui utilise une extension du Nombre de prototypes, semblable à LINQ somme méthode:
OriginalL'auteur series0ne
Vous pouvez faire quelque chose comme ça..
OriginalL'auteur SuperNova