是否有一个 JavaScript 模块可以轻松地将参数映射到参数?这是我设想它的工作方式:
var arguments = assignArguments(arguments, 'p1', 'p2', [{'p3': 0}, 'p4'], {'p5': 'unknown'});
在函数中,您可以调用它来生成一个将参数与参数相关联的对象。在数组或内联对象中定义的参数将被认为是可选的,其中内联对象将允许分配默认值。所有其他参数都被认为是“必需的”。
以下是一些示例输入/输出:
foo(1): { p1: 1, p3: 0, p5: 'unknown' } // no p2 (aka undefined)
foo(1, 2): { p1: 1, p2: 2, p3: 0, p5: 'unknown' }
foo(1, 2, 3): { p1: 1, p2: 2, p3: 0, p4: 3, p5: 'unknown' }
foo(1, 2, 3, 4): { p1: 1, p2: 2, p3: 3, p4: 4, p5: 'unknown' }
foo(1, 2, 3, 4, 5): { p1: 1, p2: 2, p3: 3, p4: 4, p5: 5 }
我希望这样的图书馆已经存在。这个逻辑被重复了很多次,如果可能的话,我想消除它。
有人知道这样的图书馆吗?如果没有,有人可以让我走上正确的实施道路吗?