/ / Javascript Le nombre de tableaux ne correspond pas à la console? [dupliquer] - javascript, tableaux

Le nombre de tableaux Javascript ne correspond pas à la console? [dupliquer] - javascript, tableaux

Suis-je stupide ici? (Je viens de Ruby, il manque peut-être quelque chose à propos des tableaux Javascript).

console.log(new_devices)

Résultat en console: Array[1].

console.log(new_devices.length)

Résultat en console: 0

Le code produisant ceci:

var sp = require("serialport");
var new_devices = [];

sp.list(function(err, ports) {
ports.forEach(function(current) {
if (current.manufacturer == "Teensyduino") {
new_devices.push(current);
}
});
});

console.log(new_devices);
console.log(new_devices.length);

entrer la description de l'image ici

Réponses:

2 pour la réponse № 1

Lorsque vous configurez des tableaux de journaux de console, la console crée une référence à ce tableau, elle ne vous montre pas un instantané de l'état du tableau au moment de l'exécution.

(Dans votre code, les éléments sont ajoutés à la liste en mode asynchrone. Ainsi, lorsque le journal de la console est en cours d'impression, la liste est vide.)

Considérons cet exemple:

entrer la description de l'image ici