input
可以是单个对象,也可以是相同类型对象的数组。我想在任何情况下都将myFunction
应用于所有这些对象。
我用Lodash这样做:
if (input.length !== undefined) {
// Array
return _.map(input, myFunction.bind(this, options));
}
else {
// One object
return myFunction(options, input);
}
有更好的方法吗?
答案 0 :(得分:1)
一个有趣的方法是使用spread syntax
,因此您总是会在函数中收到一个数组,从而简化它:
function f1(...input) {
return _.map(input, myFunction.bind(this, options));
}
...
f1(o1); // call passing a single object
f1(o1, o2); // call passing two objects
f1(...[o1, o2]); // call passing an array with two objects