Я не знаю, действительно ли повторяющиеся рубки имитируют случайное перемешивание, но, возможно, это не все, что вы делаете.В любом случае, исходя из того, что я понимаю из вашего описания, вы хотите:
arrayB = arrayA.splice(49,52).concat( arrayB );
Это должно привести к изменению arrayB
, в котором фигуры, которые были удалены из arrayA
перед тем, что было ранее.
Если вы не хотите arrayA
изменить так, чтобы то, что переходит к arrayB
, больше не было в arrayA
, тогда вы используете Array.prototype.slice()
вместо Array.prototype.splice()
.
Использование splice()
:
var a = [ 'a1', 'a2', 'a3', 'a4' ];
var b = [ 'b1', 'b2', 'b3', 'b4' ];
b = a.splice( 0, 2 ).concat( b );
// a is now: [ 'a3', 'a4' ]
// b is now: [ 'a1', 'a2', 'b1', 'b2', 'b3', 'b4' ]
Работа на обоих массивах, чтобы заставить каждый получать от другого:
var a = [ 'a1', 'a2', 'a3', 'a4' ];
var b = [ 'b1', 'b2', 'b3', 'b4' ];
var removedFromA = a.splice( 0, 2 );
var removedFromB = b.splice( 0, 2 );
b = removedFromA.concat( b );
a = removedFromB.concat( a );
// a is now: [ 'b1', 'b2', 'a3', 'a4' ]
// b is now: [ 'a1', 'a2', 'b3', 'b4' ]