recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Comment parcourir la structure de données JSON renvoyée par l'arrière-plan si elle est trop profonde?

Comment parcourir les données json avec cette structure pour obtenir la plus profonde, et j'utilise la méthode d'épissage de chaînes. Si je rends ci-dessous, je ne peux utiliser qu'une boucle for. Existe-t-il un moyen d'utiliser une grande boucle for pour. le parcourir ? Publier des données ? ? ? S'il vous plaît, aidez

某草草某草草2833 Il y a quelques jours721

répondre à tous(3)je répondrai

  • 漂亮男人

    漂亮男人2017-05-19 10:20:40

    Je suis d'accord avec ce qui précède, utilisez des modèles js tels que artTemplate et autres.
    Si vous insistez pour utiliser la concaténation de chaînes, c'est une boucle dans une boucle. Ce n'est rien de plus que d'ajouter un peu de sucre syntaxique.
    Comme suit.

    (
        ()=>{
            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);
        }
    )();
    

    Les résultats sont les suivants

    répondre
    0
  • PHP中文网

    PHP中文网2017-05-19 10:20:40

    Réponse simple : utilisez les fonctions.

    Réponse complexe : chaque couche d'objet utilise une fonction pour la convertir en chaîne, puis la colle dans la couche la plus externe.

    Une approche plus intelligente : n'utilisez pas jQuery. Si vous devez être compatible avec IE9-, utilisez Knockout.js, avalon.js. Si ces vieux gars et dames peuvent être abandonnés, utilisez VueJS, Angular 4.0+, React. Alors donnez-leur un indice : votre navigateur est trop ancien.

    répondre
    0
  • PHP中文网

    PHP中文网2017-05-19 10:20:40

    Dans ce cas, il est recommandé d'utiliser le modèle js. Il est trop difficile d'épisser les chaînes vous-même

    .

    répondre
    0
  • Annulerrépondre