À l'aide de l' in
mot-clé boucle sur chaque clé dans l'objet et ceux qui sont de la chaîne de types et lors de l'utilisation de l' +
de l'opérateur sur une chaîne va l'amener à faire une concaténation d'affectation.
Si vous souhaitez effectuer une arithmétique affectation à la fois la gauche et la droite la valeur de l'opérateur doivent être un entier de type. Une solution serait d'essayer d'analyser la chaîne en nombre entier:
console.log(parseInt("0") + 1); // 1
Cependant...
Vous devriez être en boucle sur la valeur à la place:
var data = [1, 2, 3];
for(var key in data){
console.log('a: data['+ key + '] = ' + data[key]);
}
for (var i = 0; i < data.length; i++) {
console.log('b: data['+ i + '] = ' + data[i]);
}
data.forEach(function(value, index){
console.log('c: data[' + index + '] = ' + value);
});
Vous pouvez utiliser l' ES6 méthode pour passer en boucle sur la valeur seul:
for(let v of [1, 2, 3]) {
console.log(v);
}
L'inconvénient de cette méthode est l'incompatibilité des anciens appareils android depuis sa un peu de la nouvelle norme.
Si vous utilisez jQuery, vous pouvez aussi jeter un oeil à $.chaque car elle permet une clé, valeur d'itération dans un joli one-liner qui est compatible avec les anciens appareils.
$.each([1, 2, 3], function(index, value) {
console.log( index + ": " + value );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>