今天,我已经收到一家公司的几份招聘任务。它们在这些任务中非常具体,这就是为什么我想知道我是否缺少某些东西。我有一个问题。无论应返回什么函数,我都知道如何管理,但输入内容如下:
X
x1 x2 x3 ...
那么大的X就是小x的数量。例如:
5
1 2 2 2 3
那么我应该如何创建一个以X个数为x的函数对x进行运算?我应该期望哪种类型的参数?
非常感谢您的帮助!
答案 0 :(得分:0)
您可以直接使用array或rest parameter
对于数组,请使用myFunc
,myFunc2
使用rest参数。
// ARRAY AS SINGLE PARAMETER
function myFunc(numbers) {
for (var i of numbers) {
console.log(i); // Do whatever you like to do here
}
}
// REST PARAMETER
function myFunc2 (X, ...xs) {
console.log(X); // The number of arguments
for (i of xs) {
console.log(i); // One argument per iteration
}
}
var xarr = [1, 2, 2, 2, 3];
var X = xarr.length; // X is 5
console.log(X);
myFunc(xarr); // Passes the numbers as an array to your function.
myFunc2(5, 1, 2, 3, 4, 5); // Uses the rest parameter
(在控制台中使用Array方法的)预期结果将是
5 // <- This is X (i.e. the amount of numbers)
1 // <- First number ...
2
2
2
3
我希望这是您的问题的答案-否则,请添加更多详细信息。
答案 1 :(得分:0)
我将像这样使用rest运算符(...
)
const f = (...args) => `${args.length} items given: ${args.join(', ')}`;
f(1, 2, 3, 5, 6); // 5 items given: 1, 2, 3, 5, 6
答案 2 :(得分:0)
如果您接受数字作为给出的所需参数长度,则可以执行以下操作:
let x = n => (arr) => (arr.length === n) ? arr.toString() : "Invalid Size";
let x = n => (arr) => (arr.length === n) ? arr.toString() : "Invalid Size";
let a = x(5)([1,2,3,4]), b = x(5)([1,2,3,4,5]);
console.log(a,b);