JavaScript排序功能

时间:2011-06-28 04:56:01

标签: javascript function sorting

我试图让我的js在我的表格框中垂直列出我的名字,但它只是在HORIZONTALLY,你知道为什么吗?谢谢。 这是我的剧本:

// initialize the counter and the array
var numnames=0;
var names = new Array();

function SortNames() {
    // Get the name from the text field
    thename=document.theform.newname.value;
    // Add the name to the array
    names[numnames]=thename;
    // Increment the counter
    numnames++;
    // Sort the array
    names.sort();
    document.theform.sorted.value=names.join("\n");
}

1 个答案:

答案 0 :(得分:2)

该代码有几个问题,但如果表单字段确实存在,那么您引用的名称是字段的名称,而sortedtextarea,它应该是基本上工作:Example。所以我的猜测是,sorted代之以input type="text"。将其更改为textarea


非主题(略):FWIW,我提到的问题:

  1. 您没有声明thename变量,因此成为The Horror of Implicit Globals的牺牲品。
  2. 您的numnames变量是不必要的(以及维护问题);只需使用names.length
  3. JavaScript中的约定(您可以自由忽略)是只有在构造函数函数(通过new调用的函数)时才在函数中使用首字母大写字母),并使用小写的所有其他功能。所以sortNames而不是SortNames,或更好,addNameToList或类似,因为只是对名称进行排序。
  4. 另外,建议var names = [];超过var names = new Array();,但它们都有效。