2703. 返回传递的参数的长度
2703. 返回传递的参数的长度
题目
Write a function argumentsLength
that returns the count of arguments passed to it.
Example 1:
Input: args = [5]
Output: 1
Explanation:
argumentsLength(5); // 1
One value was passed to the function so it should return 1.
Example 2:
Input: args = [{}, null, "3"]
Output: 3
Explanation:
argumentsLength({}, null, "3"); // 3
Three values were passed to the function so it should return 3.
Constraints:
args
is a valid JSON array0 <= args.length <= 100
题目大意
请你编写一个函数 argumentsLength
,返回传递给该函数的参数数量。
示例 1:
输入: args = [5]
输出: 1
解释:
argumentsLength(5); // 1
只传递了一个值给函数,因此它应返回 1。
示例 2:
输入: args = [{}, null, "3"]
输出: 3
解释:
argumentsLength({}, null, "3"); // 3
传递了三个值给函数,因此它应返回 3。
提示:
args
是一个有效的 JSON 数组0 <= args.length <= 100
解题思路
题目要求非常简单,主要考察对函数参数的处理。在 JavaScript 中,所有函数内部都有一个特殊的对象 arguments
,它是一个类数组对象,包含所有传递给该函数的参数。
可以使用 arguments.length
来直接获取传递的参数数量。
...args
:这是剩余参数语法,它允许我们将函数的所有参数收集到一个数组中。args.length
:返回收集到的参数数组的长度,即传递给函数的参数数量。
复杂度分析
- 时间复杂度:
O(1)
,因为只是在计算参数数组的长度。 - 空间复杂度:
O(1)
,仅存储了函数的参数长度,不需要额外空间。
代码
/**
* @param {...(null|boolean|number|string|Array|Object)} args
* @return {number}
*/
var argumentsLength = function (...args) {
return args.length;
};
/**
* argumentsLength(1, 2, 3); // 3
*/