1
\$\begingroup\$

My JS looks like this:

preLoadImages("/media/img/elements/frontpage/1.jpg","/media/img/elements/frontpage/2.jpg","/media/img/elements/frontpage/3.jpg","/media/img/elements/frontpage/4.jpg","/media/img/elements/frontpage/5.jpg","/media/img/elements/frontpage/6.jpg","/media/img/elements/frontpage/7.jpg","/media/img/elements/frontpage/8.jpg","/media/img/elements/frontpage/9.jpg","/media/img/elements/frontpage/10.jpg");

What would be a better way to do this?

var directory = "/media/img/elements/frontpage/"

preLoadImages(directory+"1.jpg",directory+"2.jpg",directory+"3.jpg",directory+"4.jpg",directory+"5.jpg",directory+"6.jpg",directory+"7.jpg",directory+"8.jpg",directory+"9.jpg",directory+"10.jpg");

Doesn't seem much better. There must be a zip/map/join type thing I can use here?

\$\endgroup\$

2 Answers 2

3
\$\begingroup\$

perhaps you can try apply(), then you can pass in the image paths as an array:

preLoadIamges.apply(this, absoluteFileNames)

then you can build you array in a the way you like, perhaps looking at this unobtrusive implementation of Array.map:

var directory = "/media/img/elements/frontpage/"
var fileNames = ["1.jpg","...","9.jpg"]; 
var absoluteFileNames = fileNames.map(function (value) { 
    return directory + value; 
});
\$\endgroup\$
1
  • \$\begingroup\$ Good answer, this is probably how I would approach it too. \$\endgroup\$ Commented Feb 10, 2012 at 14:22
2
\$\begingroup\$

If the files are all named sequentially, doesn't using a simple loop make sense?

var directory = "/media/img/elements/frontpage/",
    images = [],
    i = 11;

while (--i) {
    images.push(directory + i + ".jpg");
}

preLoadImages(images);

// ...

function preLoadImages(images) {
    console.log("preloading: " + images);
    // TODO: preload stuff
}
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.