使用Javascript在JSON中以数组内部的数组为目标



我的目标是jSon中数组内部的一个数组。我可以循环浏览每一个集合,但似乎无法对每个二级数组做任何有意义的事情。

var myObj, i, x = "";
myObj = {
"rows": [
[
"Provider296",
"Clicked",
"Email",
"2"
],
[
"Provider296",
"Clicked",
"Website",
"3"
]
]
};
for (i in myObj.rows) {
x += myObj.rows[i] + "<br>";
}
document.getElementById("demo").innerHTML = x;

这产生:

Provider296,Clicked,Email,2
Provider296,Clicked,Website,3

我想把它进一步分解,这样我就可以得到一张可能看起来像这样的桌子:

<table>
<tr>
<td>Email</td>
<td>2</td>
</tr>
<tr>
<td>Website</td>
<td>3</td>
</tr>
</table>

有什么想法吗?

使用ES6,

你可以在下面做一些类似的事情

html

<table id="out"></table>

Javascript

const obj = {
"rows": [
[
"Provider296",
"Clicked",
"Email",
"2"
],
[
"Provider296",
"Clicked",
"Website",
"3"
]
]
}
let out = ''
obj.rows.forEach( item => {
out += `<tr><td>${item[2]}</td><td>${item[3]}</td></tr>`
});
document.getElementById("out").innerHTML = out
console.log( out )

const myObj = {
"rows": [
[
"Provider296",
"Clicked",
"Email",
"2"
],
[
"Provider296",
"Clicked",
"Website",
"3"
]
]
};
const x = myObj.rows.map(([,,third,fourth]) => {
return "<tr><td>"+third+"</td><td>"+fourth+"</td></tr>"
}).reduce((acc, value) => { return acc + value }, '');
document.getElementById("demo").innerHTML = x;
table {
border: 1px solid red;
}
<table id="demo"></table>