sorting a list of decimal numbers in a textarea

Hi!
I want to display a text area and have the user input a series of numbers of value less than one( ie .0129) When a button is pressed, a function will return the sorted list to the textarea. Can this be done? I know javascript has a sort() function that works on an array, but how do you get the lines of the text area into an array?
Thanks,
Annas
annasAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
ZvonkoConnect With a Mentor Systems architectCommented:
How about this:

<html>
<head>
<title>Q_21147659</title>
<script>
function sortArea(theBtn){
  theArea = theBtn.form.userInput;
  theArea.value = theArea.value.split("\r\n").sort(num).join("\n");
}
function num(a, b){
  a*=1; b*=1;
  if(a>b) return 1;
  if(a<b) return -1;
  return 0;
}
</script>
</head>
<body>
<form>
<textarea name="userInput" rows="20"" cols="80">
</textarea>
<input type=button value="Sort" onClick="sortArea(this)">
</form>
<body>
</html>

0
 
monosodiumgCommented:
If you can get the user to separate the values using a delimiter string e.g. "," or " " then you can get them into an array like this:
var sNumbers = MyTextArea.value
var aNumbers = sNumbers.split(",")

Now you can sort your array. Be aware the the default compare function used by the sort method  will sort in alphabetical order, which works if all your numbers start with a  decimal point but not otherwise. E.g. 11 comes before 2 because "11" is before "2".
0
 
annasAuthor Commented:
Thanks, Zvonko, your code worked perfectly!
Annas
0
 
ZvonkoSystems architectCommented:
You are welcome.
0
All Courses

From novice to tech pro — start learning today.