繁体   English   中英

如何使用 Arrays Javascript 对 Textarea 值进行排序

[英]How To Sort Textarea Value Using Arrays Javascript

我需要在 JavaScript 中使用 arrays 对文本区域的值进行排序。

我试过这段代码但什么也没发生:

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 z = myInput.value.split('\n');
z = z.sort();
myOuput.value = z.join('\n');

将字符串拆分为一个数组,对其进行排序,然后将其重新组合在一起:

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

您可以获取该值,用新行将其拆分,对其进行排序,将其与新行连接并重新分配值。

 function sort(t) { t.value = t.value.split('\n').sort().join('\n'); }
 <textarea onchange="sort(this)" rows="10"></textarea>

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

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

 var ta = document.querySelector("textarea"); var btn = document.querySelector("input[type=button]"); var output = document.querySelector("div"); btn.addEventListener("click", function(){ var x = ta.value.split(/\n+/); // Split up input into an array x = x.sort(); // Sort results output.innerHTML = x.join("<br>"); // Display sorted output on new lines });
 textarea { height:7em; }
 <textarea>zx c a zz k</textarea> <input type="button" value="Sort"> <div></div>

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

<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>

您的 Javascript:

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
}

编辑:您可能希望更清楚地定义 your.sort() 方法,因为默认方法不是很可靠。 它不一定按照您对大写字母的预期进行排序。 文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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