如何使用数组Javascript排序Textarea值

时间:2017-12-14 19:07:00

标签: javascript arrays

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

我试过这段代码,但没有任何事情发生

kill -9 23583

我的HTML代码

var x = [];
x.push(myInput.value);
x.join("/n");
x = x.sort();
myOuput.value = x.toString();

谢谢所有答案对我有帮助,现在这是我的代码

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

4 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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

&#13;
&#13;
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
});
&#13;
textarea { height:7em; }
&#13;
<textarea>z
x
c
a
zz
k</textarea>
<input type="button" value="Sort">
<div></div>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

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

private readonly string[] _months =
{
    "January", "February", "March", "April","May","June","July",
    "August","September", "October", "November","December"
};


public IEnumerable<string> GetMonths
{
    get { foreach (var month in _months) yield return month; }
}

您的Javascript:

<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()方法,因为默认值不是很强大。它并不像你期望的大写那样排序。 documentation