javascript - Pushing an array into empty array in loop -


i pushing vector array in loop. here code snippet

    var atoms = [];     (var i=0; i<formulas.length; i++) {         (var atom in formulas[i].data.atoms) {             if (atoms.indexof(atom) < 0) {                 atoms.push(atom);             }         }     } var zeromatrix = []; (var i=0; i<formulas.length; i++) {     var vector = atoms.map(function(item) {return formulas[i].data.atoms.hasownproperty(item) ? formulas[i].data.atoms[item] : 0});     vector.push(0);     console.log(vector);     console.log(zeromatrix);     zeromatrix.push(vector);     console.log(zeromatrix); } 

results printed console follows

1) [1,2,0,0] // vector

2) [] // zeromatrix

and surprise

3) [[1,2,1,0],[2,0,1,0],[0,1,1,0]] // zeromatrix after pushing vector

moreover, pushes expected if run in debug. have idea can cause behavior?


Comments