【问题标题】:Array of arrays and variable name based on object property基于对象属性的数组数组和变量名
【发布时间】:2017-04-01 08:33:27
【问题描述】:

我调用了 ajax 服务,我得到了对象集合。对象(A) 属性是Group、order、salary。假设[Employee, 1, 1500],[Management, 2, 2000], [Employee, 3, salary] 是我的对象。

我需要为每个创建一个数组,该数组可以容纳不同的对象(B),这些对象的格式可以是[OrderNo, String],并且也会被阿贾克斯调用。如果 group 的数组已经创建,我不想再为它调用 ajax。

问题是对象的数量 (A)(B) 事先不知道,我必须能够引用 (A) 对象数组并列出它们。

产生伪代码

var groups = [
    Employee: [[1372, "Free meals"],[947, "Lower salary"],[21, "Overtimes"],[74667,"Great Xmass party"]],
    Management: [[11, "Responsibility"],[485,"Extra meetings"]]
]

我不知道怎么正确写

for(var index in "Object A"){
if(groups.AlreadyContains("Object A[index]")){
     do nothing;
}
else {
     var "Object A[index]" = MyAjaxCall("Object A[index]");
     groups.AddAnArray("Object A[index]");
    }
}

function MyAjaxCall(par){ call ajax and return collection of B objects;}

foreach(var i in groups.Management)
{Console.log(Management[i].PropertyName);}

控制台输出:职责、额外会议

【问题讨论】:

    标签: javascript asp.net arrays ajax


    【解决方案1】:

    您需要准备好 A 类型的对象和 B 类型的对象,然后开始计算它们。

    这是异步功能中的常见模式。

    如果你使用的是 ES6

    Promise.all(fetchObjectA, fetchObjectsB).then((objectsA, objectsB) =>
      // Do things over both objectsA and B
    )
    

    如果你使用的是 jQuery

    $.when(fetchObjectA, fetchObjectsB).done((objectsA, objectsB) =>
       // Do same as above
    )
    

    【讨论】:

      猜你喜欢
      • 2021-03-13
      • 1970-01-01
      • 2016-11-02
      • 1970-01-01
      • 1970-01-01
      • 2017-12-07
      • 2021-12-22
      • 2018-09-29
      • 2018-08-17
      相关资源
      最近更新 更多