Discuss / JavaScript / 交作业排序

交作业排序

Topic source

var parent=document.getElementById('test-list') list=parent.getElementsByTagName('li'); for(let i=1;i<list.length;i++){ for(let j=0;j<i;j++){ if(list[j+1].innerText<list[j].innerText){ parent.insertBefore(list[j+1],list[j]); } } }

小姐姐 6666啊

风乃伊

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

如果我没看错,应该写的不对,因为如果最后一个是最小的,那么经过这样的排序只能将最后一个前移一位,而不是移至首位,测试通过也应该只是巧合,个人拙见,第二个循坏应该这样写: for(let j = list.length-1; j > i; j--){ if(list[j].innerText < list[j-1].innerText){ parent.insertBefore(list[j],list[j-1]); } }


  • 1

Reply