我有数组,我想重新排列数组一些元素,就像我想第2个元素应该在第0个位置,第3个元素应该在第2个位置。请看屏幕截图,以供参考,最终结果应该是这样的-〉快速入门|行会|参考文件|救命
如果我向数组中添加任何新项,那么它应该出现在最后一个位置
<Nav className="me-auto">
{newNavArr.map((button, index) => (
<NavLink
key={index}
to={button.slug}
position="relative"
padding="20px"
>
{button.title}
</NavLink>
))}
</Nav>
3条答案
按热度按时间cu6pst1q1#
我认为你可以做到这一点,首先你需要创建一个排序数组的列表,如果你的数据是动态的,那么你可以根据你的数组在一个新的数组中排序数据,正如你可以看到下面的代码,我希望这会有帮助。
r9f1avp52#
用CSS应用flexbox(
display: flex
)+order
规则来进行这种位置排序要好得多。值得注意的是,建议的其他解决方案依赖于不同的Map方法(如splice
、includes
和forEach
),这些方法创建数组的新示例(稍后由垃圾收集器清理,但根本不是最优的)以及CSS:
您可以根据需要向其余元素添加自定义顺序
dgiusagp3#
这是一个改变数组任意位置的算法,写上你想改变的元素名,然后写上你想交换的第二个元素名。代码:
如果你想改变第二个元素应该是第一个位置这样做。