用于查找数组中元素的按钮

问题描述 投票:0回答:1

我正在尝试创建一个网站,用户可以点击按钮,它将从数组返回数据。例如,一个名为“显示公狗”的按钮应该会带回数组中的 3 只公狗。

我没有看到任何错误,但是当我单击按钮时没有任何反应。

<!DOCTYPE html>
<html lang="en">
 <body>  
  <main> 
   <br> <!-- ******************* Button *********************** -->
   <button onclick="showMales()"> # Show Male Dogs </button>
   <p id="btn"></p>

    <br> <!-- ******************* JS Code *********************** -->
    <script>
     const dogArray = [
      {Name: "Boris", Gender: "Male", Age: "Senior", Breed: "Labrador", Link:    "Boris.html"},
      {Name: "Lucy", Gender: "Female", Age: "Puppy", Breed: "Golden Retriever", Link: "Lucy.html"},
      {Name: "Daisy", Gender: "Female", Age: "Senior", Breed: "Golden Retriever", Link: "Daisy.html"}, 
      {Name: "Honey", Gender: "Female", Age: "Puppy", Breed: "Golden Retriever", Link: "Honey.html"}, 
      {Name: "Harley", Gender: "Male", Age: "Senior", Breed: "Labrador", Link: "Haryley.html"}, 
      {Name: "Dolly", Gender: "Female", Age: "Puppy", Breed: "Golden Retriever", Link: "Dolly.html"},
      {Name: "Max", Gender: "Male", Age: "Senior", Breed: "Golden Retriever", Link: "Max.html"}, 
      {Name: "Birdie", Gender: "Female", Age: "Senior", Breed: "Pregnant Hog", Link: "Birdie.html"}, 
      ];

      function showMales(dog) {
      return dog.Gender === "Male";
      }

      console.log(dogArray.find(showMales));
    </script>
 </main>           
</body> 
javascript html arrays button find
1个回答
0
投票

您需要使用过滤功能而不是查找功能。 find 函数应返回第一个匹配项,而 filter 则根据条件获取所有匹配项

<!DOCTYPE html>
<html lang="en">
 <body>  
  <main> 
   <br> <!-- ******************* Button *********************** -->
   <button onclick="showMales()"> # Show Male Dogs </button>
   <p id="btn"></p>

    <br> <!-- ******************* JS Code *********************** -->
    <script>
     const dogArray = [
      {Name: "Boris", Gender: "Male", Age: "Senior", Breed: "Labrador", Link:    "Boris.html"},
      {Name: "Lucy", Gender: "Female", Age: "Puppy", Breed: "Golden Retriever", Link: "Lucy.html"},
      {Name: "Daisy", Gender: "Female", Age: "Senior", Breed: "Golden Retriever", Link: "Daisy.html"}, 
      {Name: "Honey", Gender: "Female", Age: "Puppy", Breed: "Golden Retriever", Link: "Honey.html"}, 
      {Name: "Harley", Gender: "Male", Age: "Senior", Breed: "Labrador", Link: "Haryley.html"}, 
      {Name: "Dolly", Gender: "Female", Age: "Puppy", Breed: "Golden Retriever", Link: "Dolly.html"},
      {Name: "Max", Gender: "Male", Age: "Senior", Breed: "Golden Retriever", Link: "Max.html"}, 
      {Name: "Birdie", Gender: "Female", Age: "Senior", Breed: "Pregnant Hog", Link: "Birdie.html"}, 
      ];

      function showMales(dog) {
      return dog.Gender === "Male";
      }

      console.log(dogArray.filter(showMales));
    </script>
 </main>           
</body> 

© www.soinside.com 2019 - 2024. All rights reserved.