Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.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
如何使用Javascript数组对Textarea值排序_Javascript_Arrays - Fatal编程技术网

如何使用Javascript数组对Textarea值排序

如何使用Javascript数组对Textarea值排序,javascript,arrays,Javascript,Arrays,您好,我需要Helo使用数组[Javascript]对Textarea值进行排序 我试过这个代码,但什么也没发生 var x = []; x.push(myInput.value); x.join("/n"); x = x.sort(); myOuput.value = x.toString(); 我的html代码 <textarea id="input"></textarea> <p> <textarea id="output

您好,我需要Helo使用数组[Javascript]对Textarea值进行排序

我试过这个代码,但什么也没发生

var x = [];
x.push(myInput.value);
x.join("/n");
x = x.sort();
myOuput.value = x.toString();
我的html代码

    <textarea id="input"></textarea>
    <p>
    <textarea id="output"></textarea>
    <p>
    <button id="button">Click</button>
    <p>
    <div id="test"></div>

    <script src="main.js"></script>

将字符串拆分为数组,对其排序,然后将其重新连接在一起:

var textarea = document.getElementById('theTextareaId'); // or whatever...
textarea.value = textarea.value.split('\n').sort().join('\n');

您可以获取该值,按新行拆分,排序,将其与新行合并,然后重新分配该值

函数排序(t){
t、 value=t.value.split('\n').sort().join('\n');
}

调用数组的
.join()
方法时,它返回一个字符串。您的代码没有捕获该返回值,因此连接的结果会立即抛出

此外,您不希望将整个textarea值放入数组中。相反,您需要拆分该字符串(其中有新行),这将返回一个数组。然后,您可以对该数组进行排序

var ta=document.querySelector(“textarea”);
var btn=document.querySelector(“输入[type=button]”);
var输出=document.querySelector(“div”);
btn.addEventListener(“单击”,函数(){
var x=ta.value.split(//\n+/);//将输入拆分到数组中
x=x.sort();//排序结果
output.innerHTML=x.join(“
”);//在新行上显示排序后的输出 });
textarea{height:7em;}
z
x
C
A.
zz
K

使用包含的HTML,您似乎希望将排序列表移到输出文本区域。如果是这种情况,请尝试:

<textarea id="input">Lorem
Foo
Ipsum
Bar</textarea>
<p>
<textarea id="output"></textarea>
<p>
<button id="button" onClick="sortInput()">Click</button>
<p>
<div id="test"></div>

编辑:您可能希望更清楚地定义.sort()方法,因为默认方法不是很健壮。它不一定像你所期望的资本化那样

嗯,我不确定你期望发生什么。。。。文本区域是否充满了新行,并且您希望以这种方式对项目进行排序?目前,代码只有一个索引,您可以执行某种类型的连接,而这种连接不起任何作用,然后对一个索引进行排序,然后将该索引放入文本区域。
join
没有赋值是没有意义的。请提供一个包含示例输入和预期结果的示例。请添加带有示例输入的HTML
textarea
。抱歉,伙计们,这是我关于stackoverflow的第一个问题,我的英语不好,结果是
<textarea id="input">Lorem
Foo
Ipsum
Bar</textarea>
<p>
<textarea id="output"></textarea>
<p>
<button id="button" onClick="sortInput()">Click</button>
<p>
<div id="test"></div>
function sortInput(){
  var inputField = document.getElementById('input');
  var outputField = document.getElementById('output');

  var lineArray = inputField.value.split('\n'); //create array of strings
  lineArray.sort(); //sort the array
  outputField.value = lineArray.join('\n'); //join it together in the output
}