JavaScript输入参数用空格分隔

时间:2019-07-08 15:51:01

标签: javascript

今天,我已经收到一家公司的几份招聘任务。它们在这些任务中非常具体,这就是为什么我想知道我是否缺少某些东西。我有一个问题。无论应返回什么函数,我都知道如何管理,但输入内容如下:

X

x1 x2 x3 ...

那么大的X就是小x的数量。例如:

5

1 2 2 2 3

那么我应该如何创建一个以X个数为x的函数对x进行运算?我应该期望哪种类型的参数?

非常感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

您可以直接使用arrayrest parameter

对于数组,请使用myFuncmyFunc2使用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);