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]