Reputation: 61
I am still very new to programming and javascript. The problem I am facing now is I am not able to access the data inside array. Here is my code snippet
global.arr = [];
var id = 12;
for (var i=0; i<5; i++) {
arr.push(id);
id++;
}
console.log(arr);
console.log(arr[0]);
My question is that, how can I access into the data and what did i do wrong here?
Here is the code I currently have, it still doesn't seem to work:
var arr = [];
var id = 12;
for (var i=0; i<5; i++) {
arr.push(id);
id++;
}
console.log(arr);
console.log(arr[0]);
Upvotes: 4
Views: 760
Reputation: 11
A variable declared outside a function, becomes GLOBAL. you can declare the variable arr.
var arr = [];
var id = 12;
for (var i=0; i<5; i++) {
arr.push(id);
id++;
}
console.log(arr);
console.log(arr[0]);
Upvotes: 1
Reputation: 132
To a global array you don't need to set
global.arr = [];
Just set a let variable:
let arr = [];
var id = 12;
See: Let
Then use your code:
let arr = [];
var id = 12;
for (var i=0; i<5; i++) {
arr.push(id);
id++;
}
console.log(arr);
console.log(arr[0]);
Upvotes: 2
Reputation: 1897
Edit: Expanding this a little more:
global
is not a JavaScript object. There are global objects, but you access them through window
not global
. Your code would only work if you had, somewhere else, set global
equal to window
.
Unless you have a really good reason to use global
(or window
for that matter), just define the array (and other variables) with var
or let
.
let arr = [];
let id = 12;
for (let i=0; i<5; i++) {
arr.push(id);
id++;
}
console.log(arr);
console.log(arr[0]);
Upvotes: 7
Reputation: 9451
I believe global
is the root of your issue. It works when in the browser and using window
window.arr = [];
var id = 12;
for (var i=0; i<5; i++) {
arr.push(id);
id++;
}
console.log(arr);
console.log(arr[0]);
However, it is better to not set directly to the window
and instead use var arr = []
or let arr = []
Upvotes: 2