<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
  <ul id="myList">
    <li id="item1">项目 1</li>
    <li id="item3">项目 3</li>
    <li id="item2">项目 2</li>
    <li id="item4">项目 4</li>
  </ul>
  <script>
    function sortAndReturnTextContent() {
      const items = document.getElementById('myList').children;//获取所有子节点为一个数组
      console.log(items)//打印测试获取到的数组
      let arr = []//设置一个空数组
      for(let i = 0;i<items.length;i++)
      {
        //console.log(items[i].id.charAt(items[0].id.length-1));
        arr[i] = Number(items[i].id.charAt(items[i].id.length-1))
      }//将所有id的最后一个数字拿出来变成一个新数组
      console.log(arr);//打印测试结果为1324
      console.log(arr.sort());//运用sort方法来从小到大排序
      console.log(arr);//打印测试新数组变成了1234
      let newArr = arr.map(function(num){
        return "item" + num
      })//运用map方法处理数组中的每一个数字变成'item+数字'的形式
      console.log(newArr);//打印测试新数组变成了['item1','item2','item3','item4']
      newArr.forEach(item => {
        const li = document.createElement('li')
        li.id = item
        li.innerText = '项目' + ' ' + (newArr.indexOf(item) + 1)
        document.getElementById('myList').appendChild(li)
      })
      //循环数组newArr,每次创建一个新的li,
      //li的id为每一个元素,li的innerText为'项目+空格+数字(当前元素的index+1)'
      //然后将每一个li插入到ul中
    }
    sortAndReturnTextContent()
  </script>
</body>
</html>