簡體   English   中英

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)
  };
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM