我调用ajax服务并得到了对象集合。对象(A)属性是组、订单、工资。假设 [Employee, 1, 1500],[Management, 2, 2000], [Employee, 3, salal]
是我的对象。
我需要为每个可以容纳不同对象的组创建一个数组(B),这些对象可以具有格式[OrderNo, String]
也将通过 ajax 调用检索。如果已经创建了组的数组,我不想再次为其调用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);}
控制台输出:责任、额外 session
最佳答案
您需要准备好类型 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
)
关于javascript - 基于对象属性的数组和变量名的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43154601/