使用html&;根据文本区域中的长度对单词进行排序;javascript

使用html&;根据文本区域中的长度对单词进行排序;javascript,javascript,Javascript,它显示基于单词首字母的输出,但我需要基于长度的输出: 示例:当我在文本区域中输入一些内容时:welcome to javascriptworld it is a independent langauage,预期输出是:最小的单词是“a”,最长的单词是“javascriptworld”,有人能帮我怎么做吗?我想你只需要更改你的 function SortWords(){ var inputvalues=document.getElementById("sorter3").value.spl

它显示基于单词首字母的输出,但我需要基于长度的输出:

示例:当我在文本区域中输入一些内容时:welcome to javascriptworld it is a independent langauage,预期输出是:最小的单词是“a”,最长的单词是“javascriptworld”,有人能帮我怎么做吗?

我想你只需要更改你的

function SortWords(){
    var inputvalues=document.getElementById("sorter3").value.split("");   
    inputvalues.sort();       
    //alert(inputvalues)
    alert(inputvalues[0])
    document.getElementById("sorter3").value=inputvalues;       
}

这样,它将使用空格分割字符串,而不是将其拆分为每个单独的字符

至于排序,如果您将函数作为参数发送给它,它将使用函数作为比较类型进行排序。可能是这样(未经测试):


其余的应该是相当直接的。

您只需要根据单个元素的字符串长度对inputvalues数组进行
排序(使用
split(“”)
而不是
split(“”)

.sort(function (a, b) { return a.length - b.length; } );

Hi,我会先删除文本中的所有符号,即逗号、连字符、引号等。然后我会用空格分割,即
split(“”)
,然后我会通过简单的使用重复每个单词来确定其长度。希望这能有所帮助。我改变了,但这并没有表现出不同,我输入的输入是:欢迎来到javascriptworld实践点,因为我需要输出,因为最小的单词在to中,最长的单词是:javascriptworldWell您需要将您的inputValues变量重新分配给新排序的变量,如“inputValues=inputValues.sort();”@Maxwell'sDemon我认为这不是必需的,
sort
方法修改原始数组automatically@tewathia完全正确。我已经测试过了,它对我有效。我不知道发生了什么。同样的,我们如何对数字进行排序,例如:输入为22,98,1104,32。我们如何得到输出,因为最小的单词是1,最长的单词是104谢谢tewathia您的演示程序工作正常
split("");
split(" ");
.sort(function (a, b) { return a.length - b.length; } );
var inputvalues=document.getElementById("sorter3").value.split(" ");   
inputvalues.sort(function(x, y) {return x.length>y.length;});