I want to design some arrays like [1..25] in JavaScript, but I don't want to do by hand ([1, 2, 3, 4, 5, 6, [...], 25]).
How would you do?
I want to design some arrays like [1..25] in JavaScript, but I don't want to do by hand ([1, 2, 3, 4, 5, 6, [...], 25]).
How would you do?
 
    
    Well you could make a simple function...
function range(min, max) {
  var len = max - min + 1;
  var arr = new Array(len);
  for (var i=0; i<len; i++) {
    arr[i] = min + i;
  }
  return arr;
}
range(1,10);
// [1,2,3,4,5,6,7,8,9,10]
This answer is not the smallest amount of code, but it's very readable and tremendously faster than any other solution provided here.
 
    
    If you are interested in shortness, create a small helper function
function range(begin, end){
   var arr = [];
   for(var i=begin; i<=end; i++){
       arr.push(i);
   }
   return arr;
}
var myArray = range(1, 25);
 
    
    If the your elements are related (the incrementation is fixed fro instance), you can do this with a loop:
for(var i = 1; i<=25; i++) {myArray.push(i);}
 
    
    You could add the numbers in a loop eg:
var array = [];
for (var i=1; i<26; i++) {
    array[i-1] = i;
}
 
    
    var min = 1, max = 25;
Array.apply(null, Array(max - min + 1)).map(function (i,j) {
    return j + min;
});
Look ma, no for or while! Set it into Array for convenience: (Using Array as namespace)
Array.range = function(min, max){
    return this.apply(null, this(max - min + 1)).map(function (i,j) {
        return j + min;
    });
};
Array.range(1, 25);    //[1..25]
