¿Es posible obtener los primeros 3 y los últimos 2 elementos usando array.slice en js?
Quiero representar todos los datos si el usuario es AUTH, y si no, quiero los primeros 3 y los últimos 2 de la matriz sin volver a crear la matriz.
{menu.slice(...(auth ? [0, 5] : //THERE SHOULD FIND FIRST 3 AND LAST 2 )).map((item) => ( <Link onClick={() => dispatch(handleMenu())} to={item.path} className={`${auth === false && "font-md"} ${ item.path === window.location.pathname && "font-2xl" }`} > {item.title} </Link> ))}Sí, es posible obtener los primeros 3 artículos y los últimos 2 artículos;
ejemplo:
let arr = ["a", "b", "d", "c", "e", "f", "g", "h", "i"];Para obtener los primeros 3 elementos:
arr.slice(0, 3);Para obtener los últimos 2 artículos:
arr.slice(-2);Como deseaba agregar ambos sectores y renderizarlos, esto podría ayudarlo:
arr.slice(0, 3).concat(arr.slice(-2));