[英]Javascript Multidimension array
我想创建一个多维数组。 像这样:
array(
1234=>array(
"customInfo1"=>1
"customInfo2"=>2
),
5678=>array(
"customInfo1"=>3
"customInfo2"=>4
)
)
我尝试这样做
var myarray = [];
function headerBuffer(transId,column,value){
myarray [transId][column] = value;
}
我必须创建和更新此数组。 如果输入字段已更新,则该函数将再次运行,并且新记录必须插入或更新数组。
PHP的关联数组是JS中的对象。 因此,您需要执行以下操作:
let obj = {
"1234": {
"customInfo1": 1,
"customInfo2": 4
},
"5678": {
"customInfo1": 3,
"customInfo2": 4
}
}
虽然,JS中的对象键只能是字符串,所以您需要考虑到这一点。
因此,您需要将代码修改为:
var obj = {};
function headerBuffer(transId,column,value){
// If transId does not exist yet, make it an empty object
if (!obj[transId] {
obj[transId] = {};
}
obj[transId][column] = value;
}
尝试这个:
var items = [ [1, 2], [3, 4], [5, 6] ]; console.log(items[0][0]); // 1 console.log(items);
像这样的东西:
var val1 = '1234'
var val2 = '43456'
var parentArray = [];
var childArray1 = [1,2,3,4];
var childArray2 = [4,3,4,5,6];
parentArray[val1] = childArray1 ;
parentArray[val2] = childArray2 ;
但是以上解决方案需要大量内存。
最好使parentArray作为Map对象。
像这样 :
var parentMap = new Map();
var val1 = '1234'
var val2 = '43456'
var childArray1 = [1,2,3,4];
var childArray2 = [4,3,4,5,6];
parentMap.set(val1 , childArray1);
parentMap.set(val2 , childArray2);
要获取parentMap的值:
parentMap.get(val1);
parentMap.get(val2);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.