是否可以使用数组获得前3项和后2项?js中的Slice
如果用户是AUTH,我想渲染所有数据,如果不是,我想从数组中得到前3个和后2个,而不重新创建数组。
{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>
))}
是的,可以获得前3项和后2项;
例子:
let arr = ["a", "b", "d", "c", "e", "f", "g", "h", "i"];
获取前3项:
arr.slice(0, 3);
查看最后两项:
arr.slice(-2);
当您想要添加两个切片并呈现它们时,这可能会对您有所帮助:
arr.slice(0, 3).concat(arr.slice(-2));