JS Array passing value changes for no reason
<p>I have a function which loops an array... whilst it works it seems to change the value of the information being sent from "begin" function to "process" function, but i don't know why... I'm sure i made a silly mistake but I cannot see the mistake =/</p>

<p>This is my function:</p>

<pre><code>var array_data = data[9]; //global array to use
console.log(array_data); //debug

function process(i){
alert('Number is '+i); // shows the value "7" (should show value "1")
}

function begin(){
var count = 0;

for(i in array_data){

if(parseInt(array_data[i][9])){ //if true

    var result = create_layout(i); //function to make the layout
    alert('Number is '+i); //shows the value "1" (this is correct so far)

   document.getElementById('result'+count).innerHTML = result;  
   document.getElementById('result'+count).onclick = function() { process(i); };    

count++;

       }
}   

window.onload = function() {  
begin();  
};
</code></pre>

<p>Below is my array for (array_data) from the console log:</p>

<pre><code>1: Array[10]
   0: "Car One"
   1: "1"
   2: "3"
   3: "d2.jpg"
   4: "1"
   5: "1"
   6: "200"
   7: "85"
   8: "5000"
   9: "1"
length: 10    

7: Array[10]
   0: "Car Two"
   1: "1"
   2: "1"
   3: "e2.jpg"
   4: "1"
   5: "0"
   6: "500"
   7: "50"
   8: "3000"
   9: "0"
length: 10
</code></pre>

<p>So I'm wondering why might it is changing the value of "i" when it reaches the process function ?</p>
