function sortAndReturnTextContent() { const items = document.getElementById('myList').children; // 在此补全代码 const itemsArr = Array.from(items).sort((a, b) => { if (a.id.length === b.id.length) { return a.id > b.id ? 1 : -1 } else { return a.id.length > b.id.length ? 1 : -1 } }) document.getElementById('myList').innerHTML = itemsArr.map(item => item.outerHTML).join('') } sortAndReturnTextContent()
先将伪数组转成数组后利用数组的sort方法,里面传递参数分别是当前和前一个元素,然后进行判断id的长度,一致长度的就按字符串大小比较,长度不一致的就按长度来比较。最后就排序好的结果保存并重新赋值给myList元素