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

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 discret
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
            ]
          ]
        ]
      ]
    ]
  ]
]
 
Discussions similaires
Haut