简体   繁体   中英

javascript - sort inputs alphabetically

I need a user to enter names then list then as they typed it and then alphabetically. I cant seem to get the alphabetical part... please help. Ive tried localsort and arraysort and nothing has worked. I am very very new to java and have looked through tons of answers on here but can't find any answers. Thank you !!!!

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">

<head>
<title>Part4 
</title>
</head>
 
 <body>
  <strong>Name of Students:</strong>
    <ol id="list">
    </ol>
    
    <strong> Name of Students Alphabetically: </strong>
    <ol id="demo2">
    </ol>
    
 <script type = "text/javascript">
    var list = document.getElementById('list');
    
    var item1 = window.prompt("Enter a name of a student:");
      if (item1 != null) {
          var entry = document.createElement('li');
          entry.appendChild(document.createTextNode(item1));
          list.appendChild(entry);       
    }

    var item2 = window.prompt("Name of another student:");
      if (item2 != null) {
          var entry = document.createElement('li');
          entry.appendChild(document.createTextNode(item2));
          list.appendChild(entry);
      }  
      
      
    var item3 = window.prompt("Name of another student:");
      if (item3 != null) {
          var entry = document.createElement('li');
          entry.appendChild(document.createTextNode(item3));
          list.appendChild(entry);
      }  
      
      
    var item4 = window.prompt("Name of another student:");
      if (item4 != null) {
          var entry = document.createElement('li');
          entry.appendChild(document.createTextNode(item4));
          list.appendChild(entry);
      }  
      
      
    var item5 = window.prompt("Name of another student:");
      if (item5 != null) {
          var entry = document.createElement('li');
          var entry = document.createElement('li');
          entry.appendChild(document.createTextNode(item5));
          list.appendChild(entry);
      }  


function sortarray(a, b){
if (a.item < b.item) return -1; 
if (a.item > b.item) return 1; 
return 0; 
}

var=item.sort(sortarray);
console.log(s); 
      
</script>
</body>
</html>

Array.prototype.sort() will treat string by lexicographical order:

If compareFunction is not supplied, all non-undefined array elements are sorted by converting them to strings and comparing strings in UTF-16 code units order.

So you can see the snippet here:

 var list = document.getElementById('list'); var list_alphabetically = document.getElementById('alphabetically'); var items = [] var item1 = window.prompt("Enter a name of a student:"); if (item1 != null) { var entry = document.createElement('li'); entry.appendChild(document.createTextNode(item1)); list.appendChild(entry); items.push(item1) } var item2 = window.prompt("Name of another student:"); if (item2 != null) { var entry = document.createElement('li'); entry.appendChild(document.createTextNode(item2)); list.appendChild(entry); items.push(item2) } var s = items.sort(); console.log(s); s.forEach(sortedItem => { var entry = document.createElement('li'); entry.appendChild(document.createTextNode(sortedItem)); list_alphabetically.appendChild(entry); })
 <strong>Name of Students:</strong> <ol id="list"></ol> <strong> Name of Students Alphabetically: </strong> <ol id="alphabetically"></ol>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM