如何在 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 中獲取第一個非空/未定義的引數。每種方法都有其自身的優點和缺點,因此選擇適合手頭任務的方法非常重要。