如何排序 <textarea> 中用逗号分隔的 JavaScript 中的数字?
How to sort number in a <textarea> separated by comma in JavaScript?
我有一个简单的文本区域,我输入如下内容:1,7,5,2,30
然后我把数字放在数组中,当我尝试对数组进行排序时,它实际上将 30 分成“3”和“0”。并给我结果:0,1,2,3,5,7 .
我想要的是:1,2,5,7,30 。如何解决这个问题?
谢谢
代码如下:
var textArea = document.getElementById("myTextArea");
var array=[];
var sortedArray=[];
var i=j=len=0;
myButton.onclick = function () {
myFunc();
}
function myFunc() {
array = textArea.value;
for(i=0,len=array.length ; i<len ; i++) {
if(array[i] != ",") {
sortedArray[j] = array[i];
++j;
}
}
console.log( sortedArray.sort(function (a,b) {
return a-b;
}) );
}
以下是我的解决方法:
var textArea, myButton;
textArea = document.getElementById("myTextArea");
myButton = document.getElementById("myButton");
myButton.onclick = function () {
console.log(myFunc());
}
function myFunc() {
var values, sorted, i;
values = textArea.value.split(',');
for (i = 0; i < values.length; i++) {
values[i] = parseInt(values[i], 10);
}
sorted = values.sort(function (a, b) {
return a-b;
});
return sorted;
}
myFunc
的解释:
- 文本区域的值使用
split
方法转换为数组
- 这些值被转换为整数,因此可以以有意义的方式对它们进行排序
- 使用自定义排序函数对值进行排序(默认排序算法仅适用于对字符串进行排序)
我有一个简单的文本区域,我输入如下内容:1,7,5,2,30
然后我把数字放在数组中,当我尝试对数组进行排序时,它实际上将 30 分成“3”和“0”。并给我结果:0,1,2,3,5,7 .
我想要的是:1,2,5,7,30 。如何解决这个问题?
谢谢
代码如下:
var textArea = document.getElementById("myTextArea");
var array=[];
var sortedArray=[];
var i=j=len=0;
myButton.onclick = function () {
myFunc();
}
function myFunc() {
array = textArea.value;
for(i=0,len=array.length ; i<len ; i++) {
if(array[i] != ",") {
sortedArray[j] = array[i];
++j;
}
}
console.log( sortedArray.sort(function (a,b) {
return a-b;
}) );
}
以下是我的解决方法:
var textArea, myButton;
textArea = document.getElementById("myTextArea");
myButton = document.getElementById("myButton");
myButton.onclick = function () {
console.log(myFunc());
}
function myFunc() {
var values, sorted, i;
values = textArea.value.split(',');
for (i = 0; i < values.length; i++) {
values[i] = parseInt(values[i], 10);
}
sorted = values.sort(function (a, b) {
return a-b;
});
return sorted;
}
myFunc
的解释:
- 文本区域的值使用
split
方法转换为数组 - 这些值被转换为整数,因此可以以有意义的方式对它们进行排序
- 使用自定义排序函数对值进行排序(默认排序算法仅适用于对字符串进行排序)