Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript-在不根据另一个列表创建新列表的情况下对列表重新排序_Javascript_Html_Jquery_Css - Fatal编程技术网

javascript-在不根据另一个列表创建新列表的情况下对列表重新排序

javascript-在不根据另一个列表创建新列表的情况下对列表重新排序,javascript,html,jquery,css,Javascript,Html,Jquery,Css,我在一个页面上有一个HTML列表,其中包含几个项目,每个项目不仅包含文本,还包含输入和表格。我还有一个类似于[3,1,2,0]的顺序列表 是否可以根据订单列表对页面上的HTML列表重新排序,而不创建新列表,即页面上仅显示重新排序的列表,而不显示原始列表 var ul=document.querySelector('ul'); 常量顺序=[3,1,2,0] 项目1 项目2 项目3 项目4 将数组或索引数组用于 最后,iterable将与同一父UL元素关联 const orderList=

我在一个页面上有一个HTML列表,其中包含几个项目,每个项目不仅包含文本,还包含输入和表格。我还有一个类似于[3,1,2,0]的顺序列表

是否可以根据订单列表对页面上的HTML列表重新排序,而不创建新列表,即页面上仅显示重新排序的列表,而不显示原始列表

var ul=document.querySelector('ul');
常量顺序=[3,1,2,0]
  • 项目1
  • 项目2
  • 项目3
  • 项目4
  • 将数组或索引数组用于
  • 最后,iterable将与同一父UL元素关联
const orderList=[3,1,2,0];
const ul=document.querySelector(“#list”);
const li=ul.queryselectoral('li');
ul.append(…orderList.map(i=>li[i])
  • 0
  • 一,
  • 二,
  • 三,

什么是
页面上只有一个列表
?如果不创建新列表,则会覆盖现有列表。有几个排序算法@appleapple我只希望重新排序的列表(而不是原始列表)显示在我的页面上。抱歉搞混了@AbrarHossain是的可以覆盖任何原因在这里使用
DocumentFragment
?afaict没有任何好处。@APPLE最后一段解释了您的问题吗?如果您只移动节点,它是否也会被保留?我认为它也可以写成
ul.append(…orderList.map(I=>li[I])
@appleapple感谢您的宝贵见解-在再次(经过一段时间)对该问题进行了一些测试之后-似乎解构和附加要快一点:-尽管如果在大型数据集上使用解构而不是DF,chrome似乎会崩溃。可能值得一看: