Commet rabouter en Javascript une sous-array à une array ?

  • Auteur de la discussion Auteur de la discussion ortolojf
  • Date de début Date de début
WRInaute accro
Bonjour

En Javascript, comment insérer une sous-array ( sous arbre ) à une array ?

J'ai essayé :

tokens[6] = array;

ou

tokens[6].push(array);

Rien n'y fait, tokens a ses enregistrements de array de manière linéaire à la file.

array devrait être un sous arbre de tokens en tokens[6].

Mais ce n'est pas le cas.

Un console.log( tokens ) affiche tout à la queue leu leu.

Comment faire ?

Merci beaucoup de votre aide.
 
WRInaute occasionnel
Bonsoir,

JavaScript:
const mySubArray = ['test1', 'test2', 'test3']

const myRootArray = ['root1', 'root2', 'root3', 'root4', 'root5', 'root6', 'root7']

myRootArray.splice(6, 0, mySubArray)

console.log(myRootArray)

JavaScript:
(8) ['root1', 'root2', 'root3', 'root4', 'root5', 'root6', Array(3), 'root7']
0
:
"root1"
1
:
"root2"
2
:
"root3"
3
:
"root4"
4
:
"root5"
5
:
"root6"
6
:
(3) ['test1', 'test2', 'test3']
7
:
"root7"
length
:
8


https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
https://stackoverflow.com/questions/586182/how-to-insert-an-item-into-an-array-at-a-specific-index

Cordialement,

Eric
 
Dernière édition:
WRInaute accro
Super merci Eric

Je vais terminer ma fonction qui translate un template Mustache en array/sub-arrays multiples.

Tu m'as donné la clé qui me manquait.

Merci beaucoup.
 
WRInaute accro
Excuses-moi Eric

Cà ne marche pas même avec tmp_token[5].splice(5,1, this.template_to_array(subElement));

Evidemment cette fonction récursive rend un array.


J'obtiens :

JavaScript:
json ARRAY = "ul","#","families",1,6,"li","name","surname",2,"ul","#","members",3,5,"li","name","given",4


Je voudrais :


JavaScript:
json ARRAY = ["ul","#","families",1,6,
    ["li","name","surname",2],
    ["ul","#","members",3,5,
        ["li","name","given",4]
    ]
]


Que faire ?

Merci beaucoup.
 
WRInaute accro
Problème résolu.

Le blème provenait du console.log('scalaire = ' . array) qu mettait tout en scalaire.

J'ai des bugs avec le calcul des offset début/fin.

Le programme est comme avant.


JavaScript:
[
  [
    "ul",
    "#",
    "families",
    1,
    6,
    [
      [
        "li",
        "name",
        "surname",
        2
      ],
      [
        [
          "ul",
          "#",
          "members",
          3,
          5,
          [
            [
              "li",
              "name",
              "given",
              4
            ]
          ]
        ]
      ]
    ]
  ]
]
 
WRInaute accro
Voilà voilà

Pour fiabiliser mes regex, j'aurais besoin d'une documentation complète de la syntaxe de Mustache.

Par exemple les types de caractères des tags.

Merci beaucoup de m'indiquer des liens pour des infos.
 
WRInaute accro
Bof, bof...

Je suis en train de copier simplement et adapter Mustache à mon ordinateur.

Je vais essayer d'adapter les algorithmes avec mes connaissances ( peu ) de Javascript.

Quid de la license ?

Merci.
 
WRInaute accro
Bouf...

C'est la joie.

HTML:
*******************************************

    <ul>
    {{#families}}
    <li class="class_li">{{surname}}
    <ul>
    {{#members}}
    <li>{{given}}</li>
    {{/members}}
    </ul>
    </li>
    {{/families}}
    </ul>

*******************************************
Array(3) [ (4) […], (6) […], (4) […] ]
*******************************************

    <ul>
    <li class="class_li">Jones
    <ul>
    <li>Jim</li>
    <li>John</li>
    <li>Jill</li>
    </ul>
    </li>
    <li class="class_li">Smith
    <ul>
    <li>Steve</li>
    <li>Sally</li>
    </ul>
    </li>
    </ul>

*******************************************


J'ai copié 90% du code Javascript du Mustache original, avec des class au lieu de fonctions, et en changeant les noms de variables.

Quid de la license pour seule utilisation de ma PWA ?

Merci beaucoup.
 
Discussions similaires
Haut