Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何对a中的数字进行排序<;textarea>;在JavaScript中用逗号分隔?_Javascript_Arrays_Sorting_Input_Numbers - Fatal编程技术网

如何对a中的数字进行排序<;textarea>;在JavaScript中用逗号分隔?

如何对a中的数字进行排序<;textarea>;在JavaScript中用逗号分隔?,javascript,arrays,sorting,input,numbers,Javascript,Arrays,Sorting,Input,Numbers,我有一个简单的文本区域,我输入如下内容: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

我有一个简单的文本区域,我输入如下内容: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=document.getElementById(“myTextArea”);
var数组=[];
var-Darray=[];
var i=j=len=0;
myButton.onclick=函数(){
myFunc();
}
函数myFunc(){
数组=textArea.value;

对于(i=0,len=array.length;i我将如何求解它:

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;
}
var text区域,myButton;
textArea=document.getElementById(“myTextArea”);
myButton=document.getElementById(“myButton”);
myButton.onclick=函数(){
log(myFunc());
}
函数myFunc(){
var值,排序,i;
values=textArea.value.split(',');
对于(i=0;i
myFunc的解释:

  • textarea的值使用
    split
    方法转换为数组
  • 这些值将转换为整数,以便以有意义的方式对其进行排序
  • 使用自定义排序函数对值进行排序(默认排序算法仅适用于对字符串进行排序)

显示您的代码。可能是一把小提琴?请始终包含您编写的相关代码段。谢谢aaronk6,我完全忘了使用split()。然后,在使用array.split之后,再次不需要parsInt,我们可以排序()数字:)不依赖隐式转换更安全。如果要对值执行算术运算,请确保它是数字,而不是字符串。否则,可能会发生意外情况。关于此主题有一个有趣的话题: