【问题标题】:How to use lodash as helper for the following code如何使用 lodash 作为以下代码的助手
【发布时间】:2016-09-25 23:07:04
【问题描述】:

我使用了以下代码,我想知道是否有办法使用 lodash 或其他 lib 使其变得简单? 我正在获取具有值的数组并逐行添加它,这只是开始:) 所以我想知道 JS 中是否有更好的方法

_add: function(url, oConfig, CacheParameters, aDest,
    bParameters, aReus) {
    for (var i = 0; CacheParameters && i < CacheParameters.length; i++) {
        url.addSearch(CacheParameters[i].name, CacheParameters[i].value);
    }
    for (i = 0; aDest && i < aDest.length; i++) {
        url.addSearch(aDest[i].name, aDest[i].value);
    }
    for (i = 0; bParameters && i < bParameters.length; i++) {
        url.addSearch(bParameters[i].name, bParameters[i].value);
    }
    for (i = 0; aReus && i < aReus.length; i++) {
        url.addSearch(aReus[i].name, aReus[i].value);
    }
    for (i = 0; oConfig.bParameters && i < oConfig.bParameters.length; i++) {
        var oParam = oConfig.bParameters[i];
        url.addSearch(oParam.paramName, oParam.paramValue);
    }
    return url;
},

【问题讨论】:

    标签: javascript arrays node.js lodash immutable.js


    【解决方案1】:

    我没有对此进行测试,但类似的东西应该可以工作。这种方法不需要 lodash。基本上你正在做的是遍历一个数组并将它的两个属性传递给url.addSearch。因此我们可以编写一个接受一个数组和两个字段的函数:

    _add: function(url, oConfig, CacheParameters, aDest, bParameters, aReus) {
      function addSearchToUrl(arr, field1, field2) {
        arr.forEach(function (item) {
          url.addSearch(item[field1], item[field2]);
        });
      }
    
      addSearchToUrl(CacheParameters, 'name', 'value');
      addSearchToUrl(aDest, 'name', 'value');
      addSearchToUrl(bParameters, 'name', 'value');
      addSearchToUrl(aReus, 'name', 'value');
      addSearchToUrl(oConfig.bParameters, 'paramName', 'paramValue');
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-30
      • 1970-01-01
      • 1970-01-01
      • 2022-10-20
      • 1970-01-01
      相关资源
      最近更新 更多