Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让用户输入两个姓氏,并让Javascript按字母顺序说出哪个姓氏在前?_Javascript - Fatal编程技术网

如何让用户输入两个姓氏,并让Javascript按字母顺序说出哪个姓氏在前?

如何让用户输入两个姓氏,并让Javascript按字母顺序说出哪个姓氏在前?,javascript,Javascript,我有一个Javascript类的作业。赋值的基础是使用if/else if语句来设置脚本。我读了一遍又一遍作业,不知道如何按字母顺序获取名称(用户输入)。请帮忙!我的老师和书都没用!以下是说明: 针对以下三种情况,使用IF和IF/Else语句在一个HTML文档中编写JavaScript代码。对于每个部分,确保为每个部分写评论 检查姓名的字母顺序 (请参见第页的ASCII表进行确认) 变量声明部分 1.声明一个保存个人姓氏的变量。 2.声明一个包含第二个人姓氏的变量 作业组 3.请用户输入他们的姓

我有一个Javascript类的作业。赋值的基础是使用if/else if语句来设置脚本。我读了一遍又一遍作业,不知道如何按字母顺序获取名称(用户输入)。请帮忙!我的老师和书都没用!以下是说明:

针对以下三种情况,使用IF和IF/Else语句在一个HTML文档中编写JavaScript代码。对于每个部分,确保为每个部分写评论

检查姓名的字母顺序

(请参见第页的ASCII表进行确认)

变量声明部分 1.声明一个保存个人姓氏的变量。 2.声明一个包含第二个人姓氏的变量

作业组 3.请用户输入他们的姓氏。 4.请用户输入朋友的姓氏

逻辑和输出部分 5.仅在逻辑中使用变量。 6.确定字母表升序中的第一个名称。 7.显示信息“您的姓氏在字母表中位于我的前面/后面。”

测试:尝试具有相同首字母的名称。比较名称,其中一个以小写字母开头,另一个以大写字母开头。比较相近的名字,比如:安德森和安徒生

到目前为止,我的代码是:

    <script type="text/javascript">

        // Variable declarations

            var userLast1;          
            var userLast2;

       // Assignments

        userLast1 = prompt("Please enter your last name.");
        userLast2 = prompt("Please enter the last name of a friend.");

       // Calculations & output

       if (userLast1 > userLast2)
       {
       alert("Your last name comes before your friend's in the alphabet.");
       }
       else if (userLast2 > userLast1)
       {
       alert("Your friend's last name comes before your's in the alphabet.");
       }
       else
       {
       alert("You and your friend have the same last name.");
       }


    </script>

//变量声明
var userLast1;
var userLast2;
//任务
userLast1=prompt(“请输入您的姓氏”);
userLast2=prompt(“请输入朋友的姓氏”);
//计算和输出
如果(userLast1>userLast2)
{
提醒(“在字母表中,你的姓氏排在你朋友的前面。”);
}
else if(userLast2>userLast1)
{
提醒(“在字母表中,你朋友的姓在你的姓之前。”);
}
其他的
{
警惕(“你和你的朋友姓氏相同。”);
}

您可以使用排序方法吗

var names = new Array();
names.push(prompt("Please enter your last name."));
names.push(prompt("Please enter the last name of a friend."));

document.write(names.sort());

您可以将字符串与
进行比较,我将在这里讨论比较部分

请尝试以下操作:

if ("a"<"b") { 
    alert("a comes before b")
} else {
    alert("b comes before a")
}
if(“a”只有当您可以使用像这样的外部函数时,排序方法才是很好的。如果不能

parseFloat确实会返回一个数字,但它不适用于带前导数字的字符串,例如“10在这里”或“23.33 33”。因此,实现这一点的一个好方法是获取名称(字符串),然后将每个字符的ascii代码与.charCodeAt()进行比较。遍历这样的循环,无论何时找到较高/较低的循环,都要从循环中中断(您可能应该使用单独的变量来保存顺序中较早的一个变量的信息,或者将其附加到已创建的数组中)


Retief的答案更简单、更有效。

你为什么选择使用parseFloat?@Stefano-这是有标记的作业,所以不要给出答案,只需帮助OP解决问题。你想真正教育他们为什么使用某些函数并做出某些决定。为什么?你是什么意思?我不明白我在做什么,需要帮助。Wh有那么糟糕吗?接下来的问题是,如果你想知道两个单词是在前还是在后,你会怎么做?通常,在实际尝试将其转换为代码之前,用简单的英语写出你想要发生的事情是有帮助的。我不需要有人对整个答案进行编码,我只是不知道如何设置if/else如果是,则输出按字母顺序为用户提供姓氏。否,必须采用if/else if格式。她的说明特别指出“在以下情况下,使用if和if/else语句在一个HTML文档中编写JavaScript代码”:(交上我的答案,告诉她你用的是最有效的方法,而不是她无用的方法。我希望……如果你认识她就好了。她是一家大公司的首席网络管理员,获得了硕士学位,在她50多岁的时候决定她更愿意教书……让我们说她不知道怎么做。她给人布置任务,并期望他们完成。她没有得到任何回报我们需要先学习Javascript。这才是开学的第三周,她把我们逼到了极点。除了xhtml,我没有任何编程经验。这听起来不太理想。至少你来对地方寻求帮助了。我知道。我从上午11点就开始做这件事。我快要哭了。我已经翻阅了我的书,重写了她的教程,查看了示例代码。她是迄今为止我遇到的最差的大学讲师。这是一门介绍课程。对,我得到了那部分,if/else if的格式。它只是将名称转换为ASCII或其他格式。这是我不知道如何做的部分。
提示符
给你一个字符串,可以与
但是进行比较我如何用字母而不是数字来做这件事?我用的是名字而不是数字!你可以用与数字相同的方式来比较字母。
“asdf”<“bsdf”
返回true。我相信您希望
。字母表的开头对应较低的字母,因此最小的名称按字母顺序排在第一位。除此之外,您的代码看起来不错。进行此修复后,我认为您的代码应能正确运行。@StephanieKay:请注意,即使从作业(但它的哪一部分是…?),它很可能希望你忽略字母的大小写-这意味着“B”应该在“a”之后。测试你的代码并确保是这样的,因为就像Retief说的,
“B”
if (1 < 2) {
    alert("1 is less than 2.  Who knew?");
} else {
    alert("This really should not be reached, since 1 is less than 2");
}
if ("a"<"b") { 
    alert("a comes before b")
} else {
    alert("b comes before a")
}