如何在 JavaScript 中獲取第一個非空/未定義的引數?


JavaScript 中,我們經常需要在函式中找到第一個非空/未定義的引數。這可能是一項棘手的任務,但幸運的是,有一些方法可以幫助我們實現這一點

使用 Array.prototype.find()

在 JavaScript 中,獲取第一個非空/未定義引數的一種方法是使用 **Array.prototype.find()** 方法。此方法返回陣列中第一個透過給定測試的元素的值。在我們的例子中,我們可以使用此方法透過傳遞一個檢查引數是否不為 null/undefined 的測試來查詢第一個非空/未定義的引數。

示例

在下面的示例中,我們定義了一個函式來查詢第一個非空或未定義的引數。

<html>
<head>
   <title>Example: finding first non-null arguements</title>
</head>
<body>
   <h2> Array.prototype.find() Method</h2>
   <div id="arguments"></div>
   <div id="result"></div>
   <script>
      function findFirstNonNullArgument(...args) {
         return args.find(arg => arg != null);
      }
      var result = findFirstNonNullArgument(null, undefined, "Hello", "World");
      document.getElementById("arguments").innerHTML = `Arguments: null, undefined, "Hello", "World"`;
      document.getElementById("result").innerHTML = "<br>First Non-Null Argument: " + result;
   </script>
</body>
</html>

從上面的程式碼中我們可以看到,findFirstNonNullArgument() 函式接受可變數量的引數,並使用 find() 方法返回第一個非空/未定義的引數。

使用 Array.prototype.filter()

在 JavaScript 中,獲取第一個非空/未定義引數的另一種方法是使用 **Array.prototype.filter()** 方法。此方法建立一個包含所有透過給定測試的元素的新陣列。在我們的例子中,我們可以使用此方法透過傳遞一個檢查引數是否不為 null/undefined 的測試來查詢第一個非空/未定義的引數。

示例

以下是完整的可執行程式碼。

<html>
<head>
   <title>Example: finding first non-null arguements</title>
</head>
<body>
   <h2> Array.prototype.filter() Method</h2>
   <div id="arguments"></div>
   <div id="result"></div>
   <script>
      function findFirstNonNullArgument(...args) {
         return args.filter(arg => arg != null)[0];
      }
      document.getElementById("arguments").innerHTML = `Arguments: null, undefined, "Hello", "World"`;
      document.getElementById("result").innerHTML = "<br>First non-nul argument: " + findFirstNonNullArgument(null, undefined, "Hello", "World")
   </script>
</body>
</html>

從上面的程式碼中我們可以看到,findFirstNonNullArgument() 函式接受可變數量的引數,並使用 filter() 方法返回第一個非空/未定義的引數。

使用 for 迴圈

在 JavaScript 中,獲取第一個非空/未定義引數的另一種方法是使用 for 迴圈。此方法迴圈遍歷所有引數,並檢查每個引數是否不為 null/undefined。如果找到一個不為 null/undefined 的引數,則返回該引數。

示例

以下是完整的可執行程式碼 -

<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result"></div>
   <script>
      function findFirstNonNullArgument(...args) {
          for (let arg of args) {
             if (arg != null) {
                return arg;
            }
         }
      }
      document.getElementById("result").innerHTML = findFirstNonNullArgument(null, undefined, "Hello", "World")
   </script>
</body>
</html>

從上面的程式碼中我們可以看到,findFirstNonNullArgument() 函式接受可變數量的引數,並使用 for 迴圈返回第一個非空/未定義的引數。

結論

在本文中,我們介紹了三種不同的方法,這些方法可用於在 JavaScript 中獲取第一個非空/未定義的引數。每種方法都有其自身的優點和缺點,因此選擇適合手頭任務的方法非常重要。

更新於: 2022年7月1日

3K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告