使用foreach可以更简单地编写这个吗?

时间:2012-02-15 17:03:09

标签: javascript jquery

function GetDiagrams(componentID) {
    $.getJSON("../PlanView/GetDiagrams", { ComponentID: componentID }, function (diagrams) {
        for (var i = 0; i < diagrams.length; i++) {
            PaintDiagram(diagrams[i]);
        }
    });
}

我所做的就是在返回的每个元素上调用PaintDiagram。我尝试了谷歌搜索,因为我很自信这很容易减少,但是无法提出一个简单的例子。

这个函数是否适合重构?

3 个答案:

答案 0 :(得分:2)

当然,我肯定会使用jquery $.each

 $.getJSON("../PlanView/GetDiagrams", { ComponentID: componentID }, function (diagrams) {
     $.each(diagrams, function() {
         PaintDiagram(this);
     });
 });

答案 1 :(得分:0)

function GetDiagrams(componentID) {
    $.getJSON("../PlanView/GetDiagrams", { ComponentID: componentID }, function (diagrams) {
    for (i in diagrams) {
        PaintDiagram(diagrams[i]);
    }
    });
}

这与js一样好,因为它没有foreach

答案 2 :(得分:0)

根据评论,我选择按原样保留我的解决方案。