У нас есть два массива:
let m1 = [21,22,23,24,25,26,27,28]; let m2 = [81,82,83,84,85,86,87,88];
Мы хотим перемешать элементы каждого массива и потом собрать их все в один массив. Как это сделать?
Нет смысла перемешивать каждый массив по отдельности. Проще всего перемешивать один полный массив.
Шаг № 1 — склеивание массивов в один
Воспользуемся методом concat() для экземпляров Array. Вызывать его будет на пустом массиве, объявленном литерально через квадратные скобки.
[].concat(m1, m2)
Это выражение вернёт нам новый массив, не повреждая оригинальные массивы.
Элементы итогового массива будут иметь последовательности как у оригинальных массивов (без перемешивания).
Шаг № 2 — перемешивание полного массива
Когда все элементы собраны в один массив, можно приступать к перемешиванию. В этом нам поможет метод sort() для экземпляров Array. В качестве функции сравнения мы будем использовать результат вызова Math.random()-0.5.
[].concat(m1, m2).sort(()=>Math.random()-0.5)
Сортировка сработает как перемешивание. В этом есть некое противоречие, но это работает!
Каждый вызов будет перемешивать наши массивы и собирать их в один.
Информационные ссылки
JavaScript | Как перемешать массив?
Стандарт ECMAScript — https://tc39.es/ecma262/multipage/