对于一类项目,我需要建立在Javascript程序,要求用户输入3名,然后按字母顺序排序的名称,并打印在屏幕上。
我已经想通了如何创建用户输入的数据提示框,我可以让程序然后打印字符串,用户输入到屏幕上。 但是,我想不出如何获取JavaScript字符串进行排序。 我知道我需要使用数组,但我不知道放在哪里阵列,或如何得到它知道用户输入的变量。
这是我到目前为止的代码:
<html>
<script>
function disp_prompt()
{
var names=prompt("Please enter three names","Names")
document.getElementById("msg").innerHTML= names
}
</script>
<center><input type="button" onclick="disp_prompt()" value="Click Here"></center>
<br>
<h2><center><div id="msg"></div></center></h2>
</html>
整个事情可能看起来像
var namesToPrompt = 3,
names = [ ];
// as long as namesToPrompt is truthy, prompt for inputs
while( namesToPrompt-- ) {
names.push( prompt('Please enter a name') );
}
// sort our array
names.sort( byName );
// and print it
document.getElementById( 'msg' ).textContent = names.join(',');
function byName( a, b ) {
return a.localeCompare( b );
}
如果你想要让用户在输入一次所有的名字,你可以去喜欢
var inputNames = prompt( 'Please enter three names','Names' );
document.getElementById( 'msg' ).textContent = inputNames
.split( /,\s+/ ) // split by any amount of white-space characters in a row
.sort( byName )
.join( ',' );
function byName( a, b ) {
return a.localeCompare( b );
}