Puisqu'un tableau peut avoir un autre tableau sur son élément
[1,2,3,[4,5,6],7,8,9]
Et
[[1,2,3],[4,5,6],[7,8,9]]
Vous pouvez créer un tableau qui ressemble à ceci. Il existe de nombreuses méthodes et opérateurs pour joindre et ajouter des tableaux lorsque des tableaux séparés à l'origine sont combinés en un seul tableau, comme décrit ci-dessus.
push
<<
+
concat
unshift
Cependant, j'étais confus lorsque je l'ai utilisé de différentes manières. De plus, il semble que l'utilisation soit légèrement différente, j'en ai donc essayé, je vais donc le résumer ici.
push
La méthode push ajoute la valeur spécifiée comme l'un des éléments à la fin du tableau.
a = [1,2,3]
b = [4,5,6],[7,8,9]
c = [10,11,12],[13,14,15]
a.push(b)
=> [1, 2, 3, [[4, 5, 6], [7, 8, 9]]]
b.push(a)
=> [[4, 5, 6], [7, 8, 9], [1, 2, 3]]
b.push(c)
=> [[4, 5, 6], [7, 8, 9], [[10, 11, 12], [13, 14, 15]]]
Même s'il y a plusieurs tableaux à ajouter, cela semble être ** élément ** du tableau récepteur. Ainsi, «b = [4,5,6], [7,8,9]» est ajouté à la fin par «[[4,5,6], [7,8,9]]».
De plus, la méthode «push» est une méthode destructive. La valeur du récepteur change.
a.push(b)
=> [1, 2, 3, [[4, 5, 6], [7, 8, 9]]]
a
=> [1, 2, 3, [[4, 5, 6], [7, 8, 9]]]
<<
L'opérateur «<<» semble se comporter de la même manière que la méthode «push».
a = [1,2,3]
b = [4,5,6],[7,8,9]
c = [10,11,12],[13,14,15]
a << b
=> [1, 2, 3, [[4, 5, 6], [7, 8, 9]]]
b << a
=> [[4, 5, 6], [7, 8, 9], [1, 2, 3]]
b << c
=> [[4, 5, 6], [7, 8, 9], [[10, 11, 12], [13, 14, 15]]]
c'est le même! Il en va de même en ce qu'il s'agit d'une méthode destructrice.
a << b
=> [1, 2, 3, [[4, 5, 6], [7, 8, 9]]]
a
=> [1, 2, 3, [[4, 5, 6], [7, 8, 9]]]
+
L'opérateur + ajoute les éléments du tableau à ajouter un par un.
a = [1,2,3]
b = [4,5,6],[7,8,9]
c = [10,11,12],[13,14,15]
d = [-1,-2,-3]
a + b
=> [1, 2, 3, [4, 5, 6], [7, 8, 9]]
b + a
=> [[4, 5, 6], [7, 8, 9], 1, 2, 3]
b + c
=> [[4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15]]
a + d
=> [1, 2, 3, -1, -2, -3]
Dans le tableau de ʻa, chaque élément est une valeur numérique, donc la valeur est ajoutée à la fin. Dans le tableau
b`, chaque élément est un tableau, il sera donc ajouté à la fin tel quel.
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Si tu veux
[a] + b
=> [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Il semble bon de donner ʻa` lui-même un élément du tableau.
L'opérateur «+» n'apporte aucune modification à la valeur.
a + b
=> [1, 2, 3, [4, 5, 6], [7, 8, 9]]
a
=> [1, 2, 3]
concat
La méthode concat
se comporte un peu comme l'opérateur` + ʻopérateur.
a = [1,2,3]
b = [4,5,6],[7,8,9]
c = [10,11,12],[13,14,15]
d = [-1,-2,-3]
a.concat(b)
=> [1, 2, 3, [4, 5, 6], [7, 8, 9]]
b.concat(a)
=> [[4, 5, 6], [7, 8, 9], 1, 2, 3]
b.concat(c)
=> [[4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15]]
a.concat(d)
=> [1, 2, 3, -1, -2, -3]
Est le même.
[a].concat(b)
=> [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
La méthode de le traiter comme un élément d'un tableau est également efficace ici.
Cependant, la méthode «concat» est destructrice.
a.concat(b)
=> [1, 2, 3, [4, 5, 6], [7, 8, 9]]
a
=> [1, 2, 3, [4, 5, 6], [7, 8, 9]]
C'est la différence avec l'opérateur «+».
La méthode ʻunshift est très similaire à la méthode
push`.
push
à ** à la fin **.[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Si vous voulez créer cette forme, j'ai posté la méthode avec l'opérateur +
etc., mais vous pouvez également la réaliser en utilisant la méthode ʻunshift`.
a = [1,2,3]
b = [4,5,6],[7,8,9]
b.unshift(a)
=> [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Je n'ai pas trouvé d'article qui résume comment combiner des tableaux tels qu'ils sont, alors j'ai essayé de les résumer moi-même. Veuillez me faire savoir si vous avez des erreurs.