不是使用关联数组(对象),关联两个值的最佳方法是什么,因此它们始终关联,并且可以作为单独的值进行访问?关联数组很烦人,因为它们的顺序不受保证,你无法使用索引访问它们。
我可以创建两个单独的数组,但是如果我将它们的顺序随机化以显示它们的关联将不匹配,并且如果它们在代码中是分开的,那么我很可能在记录它们的值时犯错误,将它们置于错误状态为了使它们完美匹配,请订购。
答案 0 :(得分:1)
在Javascript中,您可以使用多维数组:
var data = [
[1, 2],
[3, 4]
];
data[0][0]; // get '1'
data[0][1]; // get '2'
此外,如果您需要以更抽象的方式关联数据,ES6还有WeakMaps:
var wm = new WeakMap();
var x = document.createElement("div");
wm.set(x, {foo: 1, bar: 7});
console.log(wm.get(x).bar) // get '7' from object you associated to HTMLElement
答案 1 :(得分:0)
我现在不应该存储哪种数据,但也许您可以尝试以这种方式将数据存储在单个变量中:
var data = [
{
"SPAN_ID": "GJVAPIMHKAKHSPN003_BU",
"MAINTENANCEZONECODE": "INMUMIBH01",
"REQ_ID": 4.0,
"LAST_UPDATE_BY": "HARDIK1.SHAH",
"STATUS_NAME": "HOTO without LIT",
"PENDING_DAYS": 7.0
},
{
"SPAN_ID": "WDASDF@R#&^@I",
"MAINTENANCEZONECODE": "WKUYTEISA",
"REQ_ID": 4.0,
"LAST_UPDATE_BY": "TEST",
"STATUS_NAME": "OK",
"PENDING_DAYS": 7.0
}
];
var datatojson = JSON.stringify(data);
var parsedata = jQuery.parseJSON(datatojson);
// start from this inside success: function (response) { bla.. bla..
var my_table = $(".my_table");
my_table.empty();
$.each(parsedata,function( key, val ){
var my_tr = "<tr>"
+ "<td>"
+ "<div class='row noPadding'>"
+ "<div class='col-xs-6 colPadding'>"
+ val.SPAN_ID
+ "<a class='button'><i class='fa fa-map-marker' aria-hidden='true'></i></a><a class='button'><i class='fa fa-list' aria-hidden='true'></i></a>"
+ "</div>"
+ "<div class='col-xs-6 colPadding'>"
+ "<p><strong>Request Id :</strong>" + val.REQ_ID + "</p>"
+ "<p><strong>Last Updated by :</strong>" + val.LAST_UPDATE_BY + "</p>"
+ "<p><strong>Status :</strong>" + val.STATUS_NAME + "</p>"
+ "<p><strong>Pending Since :</strong>" + val.PENDING_DAYS + "</p>"
+ "</div>"
+ "</div>"
+ "</td>"
+ "</tr>";
my_table.append(my_tr);
});