function intersection(...arrays) {
	if (arrays.length === 0) {
		return [];
	}

	let result = [...new Set(arrays[0])];

	for (const array of arrays.slice(1)) {
		result = result.filter(x => array.includes(x));
	}
	return result;
}
Computes the intersection of one or more arrays
@param {...any[]} arrays One or more arrays to intersect
@returns {any[]} The intersection of the input arrays