JavaScript 中对象名称-值的冗余代码
Redundant code for objects name-values in JavaScript
我定义了一个 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)
};
}
我定义了一个 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)
};
}