我正在尝试创建一个代码,将产品按字母顺序排序,然后计算类的数量。我知道如何创建一个可以执行其中一个的程序,但是当我尝试将它们放在其中时它不起作用,我试图改变代码但我仍然无法做到找到一种工作方式,所以我一定做错了。任何帮助将非常感激。这是当前的代码:
<!DOCTYPE html>
<html>
<body>
<p>Printer, Tablet, Router, Computer, Phone.</p>
<p>Click the button to sort the products into Alphabetical Order.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
var products = ["Printer", "Tablet", "Router", "Computer","Phone"];
document.getElementById("demo").innerHTML = products;
function myFunction() {
products.sort();
document.getElementById("demo").innerHTML = products;
}
</script>
<button onclick="myFunction()">Count the Number of Products!</button>
<p id="demo2"></p>
<script>
var products = ["Printer", "Tablet", "Router", "Computer","Phone"];
prod1=products.count();
function myFunction() {
products.length();
document.getElementById("demo2").innerHTML = products;
}
</script>
</body>
</html>
答案 0 :(得分:2)
欢迎编程!这很有趣,除非事实并非如此。但是在你解决问题后它会再次变得有趣:)
您的代码存在问题,即使您在两个<script>
标记内分隔代码,浏览器仍会将其作为单个程序读取。在你的情况下,请注意它将使你有两个具有相同名称和两个'Products'数组的函数,第二个将覆盖第一个。
答案 1 :(得分:1)
您的代码存在许多问题。第一个是脚本应该在一个单独的脚本文件中。您还创建了两个具有相同名称的函数。此功能也存在问题
function myFunction() {
products.length();
document.getElementById("demo2").innerHTML = products;
}
首先length()
不是JavaScript函数,它应该是length
。其次,您不是将数组的长度存储在变量中。您正在存储产品阵列。
array.count()
也不是一个功能。您还在两个脚本块中重复使用相同的代码。将它们放在外部脚本文件中,或仅使用一个脚本块。并更改您的功能名称。
这是我的解决方案
var products = ["Printer", "Tablet", "Router", "Computer","Phone"];
document.getElementById("demo").innerHTML = products;
var buttonOne = document.getElementById("buttonOne");
var buttonTwo = document.getElementById("buttonTwo");
buttonOne.addEventListener("click", function() {
products = products.sort();
document.getElementById("demo").innerHTML = products;
});
buttonTwo.addEventListener("click", function() {
length = products.length;
document.getElementById("demo2").innerHTML = length;
});