如何在 javascript 中设置多维数组
how to set array multidimential in javascript
你好,你能帮我循环并添加多维数组吗,因为在 php 中创建多维数组很容易,但在 javascript 中我不知道如何创建多维数组但是我尝试这样但是错误,我不知道
data_array.forEach((element,i) => {
data1[element.produsen_id][element.category_id] = element.data_value
})
我尝试解释 excel 数据
这个json格式化我需要的
{"main_report": {
"value": {
"2": {
"5": "0",
"7": "0",
"3": "13",
"1": "3",
"10": "0",
"9": "4",
"2": "3",
"8": "0"
},
"3": {
"2": "3",
"10": "0",
"1": "2",
"5": "0",
"3": "0",
"9": "0",
"8": "7"
},
"4": {
"3": "2",
"10": "0",
"1": "2",
"8": "3",
"2": "2",
"5": "0",
"9": "4",
"7": "1"
},
"5": {
"5": "0",
"10": "0"
},
"7": {
"3": "0"
},
"8": {
"1": "4",
"7": "0",
"8": "0"
},
"9": {
"9": "0",
"1": "0",
"3": "0",
"7": "1",
"5": "0"
},
"10": {
"3": "0"
},
"11": {
"7": "0",
"2": "1",
"3": "11",
"9": "3",
"8": "0",
"1": "1"
},
"13": {
"5": "0",
"2": "0",
"8": "0",
"10": "5",
"3": "1",
"1": "0",
"9": "0"
},
"15": {
"10": "0"
},
"16": {
"10": "0"
},
"17": {
"10": "0"
},
"18": {
"10": "0"
},
"19": {
"10": "0"
},
"1": {
"2": "4",
"9": "9",
"3": "8",
"7": "5",
"1": "6",
"4": "2",
"5": "2"
},
"6": {
"7": "0",
"3": "3",
"2": "1",
"9": "1",
"1": "1"
},
"20": {
"1": "4",
"2": "3",
"9": "5",
"3": "13",
"4": "0",
"7": "1",
"10": "0"
}
}
}
}
在php中像这样循环
foreach($result as $key=>$value){
$return_arr[$value->id_1][$value->id2] = $value->value_data;
}
如何在javascript中实现,我会感谢您的回答谢谢
这些是你没有多维数组的嵌套对象
{} 用于对象,[] 用于数组
你遇到了什么样的错误?也许这就是解决方案
data_array.forEach((element) => {
// if data1[element.produsen_id] doesn't exist yet
if(!data1[element.produsen_id]) {
data1[element.produsen_id] = []
}
data1[element.produsen_id][element.category_id] = element.data_value
})
解决方案:
我们将使用对象而不是数组。
用空对象初始化 data1 data1 = {}
现在:
解决方案 1:
data_array.forEach((element) => {
// if data1[element.produsen_id] doesn't exist yet
if(!data1[element.produsen_id]) {
data1[element.produsen_id] = {}
}
data1[element.produsen_id][element.category_id] = element.data_value
})
解决方案 2(备选):
data_array.forEach((element,i) => {
data1[element.produsen_id] = {
...(data1[element.produsen_id] || {}),
[element.category_id]: element.data_value
}
})
你好,你能帮我循环并添加多维数组吗,因为在 php 中创建多维数组很容易,但在 javascript 中我不知道如何创建多维数组但是我尝试这样但是错误,我不知道
data_array.forEach((element,i) => {
data1[element.produsen_id][element.category_id] = element.data_value
})
我尝试解释 excel 数据
这个json格式化我需要的
{"main_report": {
"value": {
"2": {
"5": "0",
"7": "0",
"3": "13",
"1": "3",
"10": "0",
"9": "4",
"2": "3",
"8": "0"
},
"3": {
"2": "3",
"10": "0",
"1": "2",
"5": "0",
"3": "0",
"9": "0",
"8": "7"
},
"4": {
"3": "2",
"10": "0",
"1": "2",
"8": "3",
"2": "2",
"5": "0",
"9": "4",
"7": "1"
},
"5": {
"5": "0",
"10": "0"
},
"7": {
"3": "0"
},
"8": {
"1": "4",
"7": "0",
"8": "0"
},
"9": {
"9": "0",
"1": "0",
"3": "0",
"7": "1",
"5": "0"
},
"10": {
"3": "0"
},
"11": {
"7": "0",
"2": "1",
"3": "11",
"9": "3",
"8": "0",
"1": "1"
},
"13": {
"5": "0",
"2": "0",
"8": "0",
"10": "5",
"3": "1",
"1": "0",
"9": "0"
},
"15": {
"10": "0"
},
"16": {
"10": "0"
},
"17": {
"10": "0"
},
"18": {
"10": "0"
},
"19": {
"10": "0"
},
"1": {
"2": "4",
"9": "9",
"3": "8",
"7": "5",
"1": "6",
"4": "2",
"5": "2"
},
"6": {
"7": "0",
"3": "3",
"2": "1",
"9": "1",
"1": "1"
},
"20": {
"1": "4",
"2": "3",
"9": "5",
"3": "13",
"4": "0",
"7": "1",
"10": "0"
}
}
} }
在php中像这样循环
foreach($result as $key=>$value){
$return_arr[$value->id_1][$value->id2] = $value->value_data;
}
如何在javascript中实现,我会感谢您的回答谢谢
这些是你没有多维数组的嵌套对象 {} 用于对象,[] 用于数组
你遇到了什么样的错误?也许这就是解决方案
data_array.forEach((element) => {
// if data1[element.produsen_id] doesn't exist yet
if(!data1[element.produsen_id]) {
data1[element.produsen_id] = []
}
data1[element.produsen_id][element.category_id] = element.data_value
})
解决方案:
我们将使用对象而不是数组。
用空对象初始化 data1 data1 = {}
现在:
解决方案 1:
data_array.forEach((element) => {
// if data1[element.produsen_id] doesn't exist yet
if(!data1[element.produsen_id]) {
data1[element.produsen_id] = {}
}
data1[element.produsen_id][element.category_id] = element.data_value
})
解决方案 2(备选):
data_array.forEach((element,i) => {
data1[element.produsen_id] = {
...(data1[element.produsen_id] || {}),
[element.category_id]: element.data_value
}
})