var z = (a = [], ...b) =>
b.length ? a.length ? [a[0], ...z(...b, a.slice(1))] : z(...b) : a;
var array1 = [1, 2];
var array2 = '♦♡♣♤♥♢';
var array3 = ['A', 'B', 'C'];
var array4 = ['?', '?', '?'];
var array5 = [null, NaN, undefined];
var stringify = (o) => JSON.stringify(o, (k, v) => v === undefined ? '__undefined__' : v !== v ? '__NaN__' : v).replace(/"__undefined__"/g, 'undefined').replace(/"__NaN__"/g, 'NaN');
console.log(stringify(z()));
console.log(stringify(z(array1)));
console.log(stringify(z(array1, array2)));
console.log(stringify(z(array1, array2, array3)));
console.log(stringify(z(array1, array2, array3, array4)));
console.log(stringify(z(array1, array2, array3, array4, array5)));