Friday, May 17, 2024
 Popular · Latest · Hot · Upcoming
171
rated 0 times [  175] [ 4]  / answers: 1 / hits: 16575  / 7 Years ago, sat, november 18, 2017, 12:00:00

I know that this is fundamental JS, but I'd like a simple explanation. From what I've read, If i declare an empty variable outside of my loop, the variable inside the loop should be accessible globally? Or am I totally wrong?



I would like to access randAd from outside my for loop.



var mobileAds = [
mobile/bb.jpg,
mobile/eyeko.jpg,
mobile/farfetch.jpg,
mobile/fsb.jpg
];

var randNum = (Math.floor(Math.random() * mobileAds.length));
var randAd;

var i;
for (i = 0; i < mobileAds.length; ++i) {
randAd = (mobileAds[randNum]);
}

More From » jquery

 Answers
13

If you want to access every element of randAd outside the for loop try like this var randAd = []; to initialize it as an array. You can easily access it after your for loop but If you use it as a simple variable var randAd;then you'll get the last variable always (it overwrites). So initialize it as an array and push every element inside loop before outputting it.





var mobileAds = [
mobile/bb.jpg,
mobile/eyeko.jpg,
mobile/farfetch.jpg,
mobile/fsb.jpg
];

var randNum = (Math.floor(Math.random() * mobileAds.length));
var randAd = []; // see the change here

var i;
for (i = 0; i < mobileAds.length; ++i) {
randAd.push(mobileAds[randNum]); // push every element here
}
console.log(randAd);




[#55901] Wednesday, November 15, 2017, 7 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
malkajillc

Total Points: 652
Total Questions: 107
Total Answers: 98

Location: Finland
Member since Sat, Nov 6, 2021
3 Years ago
;