gpt4 book ai didi

javascript - 将 DRY 应用于整个文件的多个循环

转载 作者:行者123 更新时间:2023-11-30 12:33:15 24 4
gpt4 key购买 nike

我目前正在学习并尝试应用干净和模块化代码的原则。在编写我的应用程序时,我注意到我使用相同的代码在不同的函数中循环遍历相同的 JSON 对象。

for(var i = 0; i < myJSONData.length; i++) {
// do stuff with myJSONData[i]
}

这在整个应用程序中变得多余。

var myJSONData = [/* array of objects */];

var myFunc = function() {
for(var i = 0; i < myJSONData.length; i++) {
// do stuff with myJSONData[i]
}
}

var anotherFunc = function() {
for(var i = 0; i < myJSONData.length; i++) {
// do different stuff with myJSONData[i]
}
}

我如何在这里应用 DRY 原则并且只编写一次循环?

最佳答案

您提供的示例看起来不错。在多个函数中使用类似的循环是很常见的,只要循环中的代码不重复,这种类型的重复不一定是问题。

但是,您也可以考虑按如下方式进行重组。

function myFunc(item) {
// do stuff with item
}
function anotherFunc(item) {
// do stuff with item
}
//...
myJSONData.forEach(myFunc);
// ...
mYJSONData.forEach(anotherFunc);

这样做的一个很好的副作用是 myJSONData 可以在一个函数中定义,不需要具有更广泛的/全局范围。 myFuncanotherFunc 只会一次从它传递一个项目。

关于javascript - 将 DRY 应用于整个文件的多个循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26948000/

24 4 0
文章推荐: swift - 如何在 Swift 中创建唯一对象列表数组
文章推荐: c# - 是否可以在不安装 Selenium Server 的情况下使用 ISelenium/DefaultSelenium?
文章推荐: c# - 设置STS但在webapp中保留formauthentication
文章推荐: javascript - 从 `array` 中移除 `