JavaScript中对象名称值的冗余代码

JavaScript中对象名称值的冗余代码,javascript,object,javascript-objects,jsobject,Javascript,Object,Javascript Objects,Jsobject,我定义了一个js对象,该对象的名称-值对是函数定义大致相同的函数表达式。对象的键名称与从外部导入的模块的函数匹配 const myModule = require('some_module'); //some module imported from outside const myObj = {}; myObj.abc = (param1, param2, param3) => { myModule.abc(param1, param2, param3); // som

我定义了一个js对象,该对象的名称-值对是函数定义大致相同的函数表达式。对象的键名称与从外部导入的模块的函数匹配

const myModule = require('some_module');    //some module imported from outside

const myObj = {};

myObj.abc = (param1, param2, param3) => {
  myModule.abc(param1, param2, param3);
  // some algorithm (say algo)
}

myObj.xyz= (param1, param2, param3) => {
  myModule.xyz(param1, param2, param3);
  // same algorithm (algo)
}

myObj.pqr= (param1, param2, param3) => {
  myModule.pqr(param1, param2, param3);
  // same algorithm (algo)
}

//All the three names (abc, xyz, pqr) have nearly same function definitions.

我的问题是,;有没有更好的方法来减少代码行,因为代码似乎是多余的?

我会迭代一组方法名来定义函数:

const methods = ['abc', 'xyz', 'pqr'];
for (const key of methods) {
  myObj[key] = (param1, param2, param3) => {
    myModule[key](param1, param2, param3);
    // some algorithm (say algo)
  };
}

实际上,这些函数名(func1、func2、func3)实际上是泛型的,这里我使用这些名称只是为了演示。例如,func1是abc,func2是xyz,func3是pqr。一如既往,请在您的问题中包含实际代码以获得有用的答案。好的,我做了编辑。感谢您指出。简单的调整,只需制作一个方法名称数组。您可以分享您如何调用它们吗?只是要小心牺牲几行代码的可读性。