Bagaimana cara saya menggelungkan data json dengan struktur ini untuk mendapatkan yang paling dalam, dan saya menggunakan kaedah penyambungan rentetan Jika saya membuat di bawah, saya hanya boleh menggunakan gelung for untuk melintasinya? ? ? Tolong bantu
Setuju dengan perkara di atas, gunakan templat js seperti artTemplate dan seumpamanya.
Jika anda perlu menggunakan penyambungan rentetan, ia adalah gelung dalam gelung. Ia tidak lebih daripada menambah sedikit gula sintaks.
adalah seperti berikut.
(
()=>{
const data=[
{
id:10,
name:"jack",
lists:[
{
item:"水泥",
num:323
},
{
item:"鋼筋",
num:111
}
]
},
{
id:15,
name:"tom",
lists:[
{
item:"西瓜",
num:44
},
{
item:"桔子",
num:66
}
]
}
];
const getHtml=({name,id,lists})=>`<li>
<p>我叫${name},我的工號是${id}</p>
<p>我有一批貨物,它們分別是:</p>
<section>
${lists}
</section>
</li>
`;
const getList=({item,num})=>`<p>貨物名:${item},貨物編號:${num}。</p>\n`;
let result="";
data.forEach(person=>{
const {name,id}=person;
let lists="",
_lists=person.lists;
_lists.forEach(list=>{
const {item,num}=list;
lists+=getList({item,num});
});
result+=getHtml({name,id,lists});
});
console.log(result);
}
)();
Keputusan adalah seperti berikut
Jawapan mudah: gunakan fungsi.
Jawapan kompleks: Setiap lapisan Objek menggunakan fungsi untuk menukarnya menjadi rentetan, dan kemudian menyambungkannya di lapisan paling luar.
Pendekatan yang lebih bijak: jangan gunakan jQuery. Jika anda perlu serasi dengan IE9-, gunakan Knockout.js, avalon.js Jika lelaki dan wanita tua itu boleh berputus asa, gunakan VueJS, Angular 4.0+, React. Kemudian beri mereka petunjuk: penyemak imbas anda terlalu lama.
Dalam kes ini, disyorkan untuk menggunakan templat js Terlalu menyusahkan untuk menyambung tali sendiri