如何在 javascript 到 table 的数组中 foreach 数组
how to foreach array in array in javascript to table
我正在尝试将大量数据发送到我的 table .. 数据来自我的控制器 (CI3) 我尝试 json 编码如下:
{"1":{"2":["SOP","SOP 16","YES"]},"3":{"7":["SIP","SIP 12","YES"]},"4":{"18":["SAP","SAP 12","YES"]}}
这就是我尝试在 Javascript 中执行 foreach 的方式:
const table_show = (data) => {
console.log(data)
document.getElementById('mabody').innerHTML = '';
let str_table = '';
data.forEach((ir_labs_1,key_ir_1) =>{
str_table += '<tr id="data_ir_'+key_ir_1+'"><td>POSM</td><td>' + ir_labs_1 + '</td><td id="osa_'+key_ir_1+'">0</td></tr>';
})
document.getElementById('mabody').innerHTML = str_table;
}
但是当我 运行 它时我直接得到了这种错误 :
TypeError: data.forEach is not a function
我不确定我的代码有什么问题,我也不知道如何修复它。
谁能告诉我如何解决这个问题?
Object.entries() 方法 returns 给定对象自身的可枚举字符串键控 属性 [键,值] 对的数组。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
</head>
<body>
<div id='mabody'></div>
<script type="text/javascript">
const data = {"1":{"2":["SOP","SOP 16","YES"]},"3":{"7":["SIP","SIP 12","YES"]},"4":{"18":["SAP","SAP 12","YES"]}}
const table_show = (data) => {
console.log(data)
document.getElementById('mabody').innerHTML = '';
let str_table = '';
for (const [key, value] of Object.entries(data)) {
console.log(`${key}: ${value}`);
str_table += '<tr id="data_ir_'+key+'"><td>POSM</td><td>' + JSON.stringify(value, null, 2) + '</td><td id="osa_'+key+'">0</td></tr>';
}
document.getElementById('mabody').innerHTML = `<table>${str_table}</table>`;
}
window.addEventListener('load', (event) => {
console.log('page is loaded');
table_show(data)
});
</script>
</body>
</html>
我正在尝试将大量数据发送到我的 table .. 数据来自我的控制器 (CI3) 我尝试 json 编码如下:
{"1":{"2":["SOP","SOP 16","YES"]},"3":{"7":["SIP","SIP 12","YES"]},"4":{"18":["SAP","SAP 12","YES"]}}
这就是我尝试在 Javascript 中执行 foreach 的方式:
const table_show = (data) => {
console.log(data)
document.getElementById('mabody').innerHTML = '';
let str_table = '';
data.forEach((ir_labs_1,key_ir_1) =>{
str_table += '<tr id="data_ir_'+key_ir_1+'"><td>POSM</td><td>' + ir_labs_1 + '</td><td id="osa_'+key_ir_1+'">0</td></tr>';
})
document.getElementById('mabody').innerHTML = str_table;
}
但是当我 运行 它时我直接得到了这种错误 :
TypeError: data.forEach is not a function
我不确定我的代码有什么问题,我也不知道如何修复它。
谁能告诉我如何解决这个问题?
Object.entries() 方法 returns 给定对象自身的可枚举字符串键控 属性 [键,值] 对的数组。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
</head>
<body>
<div id='mabody'></div>
<script type="text/javascript">
const data = {"1":{"2":["SOP","SOP 16","YES"]},"3":{"7":["SIP","SIP 12","YES"]},"4":{"18":["SAP","SAP 12","YES"]}}
const table_show = (data) => {
console.log(data)
document.getElementById('mabody').innerHTML = '';
let str_table = '';
for (const [key, value] of Object.entries(data)) {
console.log(`${key}: ${value}`);
str_table += '<tr id="data_ir_'+key+'"><td>POSM</td><td>' + JSON.stringify(value, null, 2) + '</td><td id="osa_'+key+'">0</td></tr>';
}
document.getElementById('mabody').innerHTML = `<table>${str_table}</table>`;
}
window.addEventListener('load', (event) => {
console.log('page is loaded');
table_show(data)
});
</script>
</body>
</html>