в то время как - путь
var a=[],b=10;while(b--)a[b]=b+1
возврат [1,2,3,4,5,6,7,8,9,10]
объясненоначало и длина
var array=[],length=20,start=5;while(length--)array[length]=length+start
возвращает [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,23, 24]
хотите диапазон?
объясняется с началом и концом
var array=[],end=30,start=25,a=end-start+1;while(a--)array[a]=end--
возвращает [25, 26, 27, 28, 29, 30]
для -
for(var a=[],b=20;b>0;b--,a[b]=b+1)
для ++
for(var a=[],b=0;b<20;b++,a[b]=b+1)
ПОЧЕМУ это путь?
в то время как - это простосамый быстрый цикл;
прямая настройка быстрее, чем push & concat;
[] также быстрее, чем новый массив (10);
это не намного более длинный код, чем все остальные
методы сохранения байтов:
- использовать аргументы в качестве полядля переменных в функции
- не используйте новые Array (), push (), concat (), если не нужно
- place "() {} ;," только при необходимости.
- используйте a, b, c, d ... в коротких функциях.
так что если вам нужна функция для этого
с началом, концом (диапазоном)
function range(a,b,c,d){d=[];c=b-a+1;while(c--)d[c]=b--;return d}
, то теперь range (3,7) возвращает [3,4,5,6,7]
Вы сохраняете здесь байты разными способами, и эта функция также очень быстрая, так как она не использует concat, push, new Array, и она сделана некоторое время -