0
我有這個問題,我一直在努力了幾個小時,沒有運氣。我應該編寫JavaScript代碼,提示用戶輸入3個名稱(一次一個)。該程序應按升序排列並顯示不同行上的名稱。排序用戶輸入並打印它
我可以讓程序提示用戶輸入名稱,但難以對它們進行排序並正確顯示它們。
<html>
<head>
<title>Day 3 - Example 1</title>
</head
<body>
<center>
<script language="javascript">
var na1,na2,na3;
na1=prompt("Enter your first name:","");
na2=prompt("Enter your second name:","");
na3=prompt("Enter your third name","");
var na1_na2 = compare(na1, na2);
var na1_na3 = compare(na1, na3);
var na2_na3 = compare(na2, na3);
var first, second, third;
if (na1_na2 === -1) {
if (na1_na3 === -1) {
first = na1;
if (na2_na3 === -1) {
second = na2;
third = na3;
} else {
second = na3;
third = na2;
}
} else {
first = na3
second = na1;
third = na2;
}
} else {
}
function compare(name1, name2) {
name1 = name1.toLowerCase();
name2 = name2.toLowerCase();
if (name1 === name2) return 0;
var lengthOfShorterName = Math.min(name1.length, name2.length)
for (var i = 0; i < lengthOfShorterName; i++) {
if (name1.charAt(i) > name2.charAt(i)) return 1;
if (name1.charAt(i) < name2.charAt(i)) return -1;
}
if (name1.lenght < name2.length) return -1;
return 1;
}
</script>
</center>
</body>
</html>
1)你有一個錯字:'name1.lenght'應該是'name1.length' 2)你怎麼想顯示他們呢?您可以使用'alert','console.log'或將它們插入到DOM中。 –
你還需要明確地看看使用Array.sort,除非你已經被指示不要:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort – Triptych