var a = [a,b,c,d,1,2,3,4];
var half = a.length / 2;
var c = [];
for(var i = 0; i < half; i++)
{
c.push(a[i]);
c.push(a[half + i]);
}
a = c;
Общее решение:
Установите r
на соответствующее значение и убедитесь, что длина массива соответствует этому значению. Например, если r
равно 2, отношение количества букв к количеству цифр равно 2:1
, и, следовательно, длина массива len
должна быть кратна 3.
function mix(a:Array, r:Number):void
{
var len1 = a.length * r / (r + 1);
var len2 = a.length - len1;
var c = [];
for(var i = 0; i < len2; i++)
{
for(var j = 0; j < r; j++)
c.push(a[i * r + j]);
c.push(a[len1 + i]);
}
trace(c.join());
}
var r = 2; //two letters per one digit
//8 letters and 4 digits
var a = ['a','b','c','d','e','f','g','h','1','2','3','4'];
mix(a, r) // a,b,1,c,d,2,e,f,3,g,h,4
r = 3; //three letters per one digit
//9 letters and 3 digits
a = ['a','b','c','d','e','f','g','h','i','1','2','3'];
mix(a, r); // a,b,c,1,d,e,f,2,g,h,i,3