使用JavaScript对网页上存储桶中的DOM元素进行排序的最佳方法
我面临的一个问题是,我需要根据不同的视图对元素进行排序,维护一堆不同视图的存储桶 例如,视图1如下所示:使用JavaScript对网页上存储桶中的DOM元素进行排序的最佳方法,javascript,algorithm,sorting,complexity-theory,space,Javascript,Algorithm,Sorting,Complexity Theory,Space,我面临的一个问题是,我需要根据不同的视图对元素进行排序,维护一堆不同视图的存储桶 例如,视图1如下所示: Bucket A: 1 4 Bucket B: 23 25 Bucket C: 9 14 视图2可能看起来像: Bucket A: 1 4 9 14 23 25 现在考虑这些是DOM上的元素(每个数字代表div) 根据所选视图对它们进行排序的最佳方法是什么?我是否应该在后台维护这些bucket(JavaScript数组),并且每次更新bucket时,都要再次渲染视图?或者我应该在DOM排
Bucket A:
1
4
Bucket B:
23
25
Bucket C:
9
14
视图2可能看起来像:
Bucket A:
1
4
9
14
23
25
现在考虑这些是DOM上的元素(每个数字代表div)
根据所选视图对它们进行排序的最佳方法是什么?我是否应该在后台维护这些bucket(JavaScript数组),并且每次更新bucket时,都要再次渲染视图?或者我应该在DOM排序中这样做,或者换句话说,对DOM元素本身进行排序
主要要求是在执行视图更改时不应出现闪烁。从性能角度来看,对本机JavaScript对象(如数组)进行任何类型的排序都比根据DOM元素的内容进行排序更快 如果您遇到闪烁,可能是由于CPU密集型DOM操作造成的。然而,我不能肯定地说,因为你没有提供一个例子 试试jsbin.com
另外:为了避免遇到以下情况之一,我建议使用underline.js或sugar.js之类的库,我认为这是一个很好的观点。在后台维护数组的情况下,我只需要对字符串进行排序,在非DOM排序的情况下,我将对复杂的DOM元素对象进行排序