如何使用 lodash 作为以下代码的助手
How to use lodash as helper for the following code
我使用了以下有效的代码,我想知道是否有一种方法可以使用 lodash 或其他库使其变得简单?
我正在获取具有值的数组并逐行添加它,这只是开始 :) 所以我想知道 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;
},
我还没有对此进行测试,但与此类似的东西应该可以工作。这种方法不需要 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');
}
我使用了以下有效的代码,我想知道是否有一种方法可以使用 lodash 或其他库使其变得简单? 我正在获取具有值的数组并逐行添加它,这只是开始 :) 所以我想知道 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;
},
我还没有对此进行测试,但与此类似的东西应该可以工作。这种方法不需要 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');
}