如何在 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 中获取第一个非空/未定义的参数。每种方法都有其自身的优点和缺点,因此选择适合手头任务的方法非常重要。