Javascript 在没有计数器的情况下对列表进行排序

Javascript 在没有计数器的情况下对列表进行排序,javascript,html,sorting,Javascript,Html,Sorting,这只是一种感觉,但它困扰着我的大脑 如果我有一个项目列表——在我看来这是一个HTML/JS实现,但那只是因为我是一个视觉思考者;) 我想使用拖放对列表进行排序,目的是在完成后存储新的顺序。有没有一种方法可以做到这一点,而无需对项目编号,然后更新删除项目的编号+其后的每个项目?这不是很低效吗?如果你在数字上留下空白,你可能会做得很有效——例如,让第一个元素为10,第二个元素为20,第三个元素为30,等等。然后当你在第二个元素前面拖动某个元素,在第一个元素后面拖动某个元素时,称它为15(或其他) 与

这只是一种感觉,但它困扰着我的大脑

如果我有一个项目列表——在我看来这是一个HTML/JS实现,但那只是因为我是一个视觉思考者;)


我想使用拖放对列表进行排序,目的是在完成后存储新的顺序。有没有一种方法可以做到这一点,而无需对项目编号,然后更新删除项目的编号+其后的每个项目?这不是很低效吗?

如果你在数字上留下空白,你可能会做得很有效——例如,让第一个元素为10,第二个元素为20,第三个元素为30,等等。然后当你在第二个元素前面拖动某个元素,在第一个元素后面拖动某个元素时,称它为15(或其他)


与每次递增数字不同,您只需在空间不足时执行此操作。最后,你可以按最小的数字对对象进行排序。

如果你在数字上留下空白,你可能会做得很有效率——例如,让第一个元素为10,第二个元素为20,第三个元素为30,等等。然后当你在第二个元素前面拖动某个元素,在第一个元素后面拖动某个元素时,称它为15(或其他)


与每次递增数字不同,您只需在空间不足时执行此操作。最后,您可以按最低数量对对象进行排序。

就性能而言,更改元素的编号与实际渲染转换(在拖动元素时)相比是微不足道的,因此不,这不是低效的


您可以使用a来最小化更改集合顺序所需的操作量。

就性能而言,更改元素的编号与实际渲染转换(拖动元素时)相比没有什么区别,因此不,它不是低效的


您可以使用,以减少更改集合顺序所需的操作量。

我建议使用JavaScript框架来完成这项工作

应符合您的需要(从网站):

Knockout是一个JavaScript库,它可以帮助您使用干净的底层数据模型创建丰富、响应迅速的显示和编辑器用户界面。每当您的UI部分动态更新时(例如,根据用户的操作或外部数据源更改而更改),KO都可以帮助您更简单、更易于维护地实现它


我建议使用JavaScript框架来完成这项工作

应符合您的需要(从网站):

Knockout是一个JavaScript库,它可以帮助您使用干净的底层数据模型创建丰富、响应迅速的显示和编辑器用户界面。每当您的UI部分动态更新时(例如,根据用户的操作或外部数据源更改而更改),KO都可以帮助您更简单、更易于维护地实现它


此处不包括任何代码,因为这是一个概念性问题。
列表中的每个元素都必须有一个数字,因为它们之间必须有一个数字才能表示为列表。

如果您不希望列表中的元素数量很大,那么a应该非常适合您。

此处不包括任何代码,因为这是一个概念性问题。
列表中的每个元素都必须有一个数字,因为它们之间必须有一个数字才能表示为列表。

如果您不希望列表中的元素数量太多,a应该对您很有用。

这一切都取决于您如何执行存储部分,我猜是为了排序,您需要确定顺序。。您想按字母顺序或按序列等进行排序,您的标准是什么?排序将是一个手动过程,因此没有预定义的标准。这取决于您如何执行存储部分我猜排序是您决定顺序所需的。。你想按字母顺序或按序列排序吗?你的标准是什么?排序将是一个手动过程,因此没有预定义的标准。链表肯定也是我的第一个想法。很好的解决方案。链表肯定也是我的第一个想法。很好的解决办法,听起来很痛苦。如果事实是这样的话,您可能需要以这种方式进行更多的处理。我不确定OP计划使用哪种机器,但这似乎是库排序()的一个问题。听起来很痛苦。如果事实是这样的话,您可能需要以这种方式进行更多的处理。我不确定OP计划使用哪种机器,但这似乎是库排序()的一个问题。