Discuss / JavaScript / 参考大牛们的思路,两种方法比较简单

参考大牛们的思路,两种方法比较简单

Topic source

第一种直接对children排序再导入

list = document.getElementById('test-list');
sort = Array.from(list.children).sort((a, b) => a.innerText > b.innerText ? 1:-1);
for (let e of sort) list.appendChild(e);

第二种先提取文本,对文本排序再逐一写入

list = Array.from(document.getElementById('test-list').children);
sort = list.map(element => element.innerText).sort();
list.map((element, index) => element.innerText = sort[index])

江K60

#2 Created at ... [Delete] [Delete and Lock User]

666你才是大牛

紫陌

#3 Created at ... [Delete] [Delete and Lock User]

第二种最后一行, 把map应该修改为forrach,不需要生成新的arr了

list.foreach((element, index) => element.innerText = sort[index])

🌙

#4 Created at ... [Delete] [Delete and Lock User]

思路 我和你差不多,先对内容排序,在重新写入 。就是代码 没有你这么秀、、

大佬,第一种没看明白,为什么可以直接append,之前 list 里面的元素是怎么清空的

藏锋

#6 Created at ... [Delete] [Delete and Lock User]

好像是append用已有的元素会把之前的删掉,上边用的时候说了,用append最好自己新建元素往里填

确实是这样,谢谢🙏


  • 1

Reply