Tutoriel par Examples: destruction



Tirez les propriétés d'un objet passé dans une fonction. Ce modèle simule des paramètres nommés au lieu de compter sur la position de l'argument. let user = { name: 'Jill', age: 33, profession: 'Pilot' } function greeting ({name, profession}) { console.log(`Hello...
La destruction nous permet de faire référence à une clé dans un objet, mais de la déclarer comme une variable avec un nom différent. La syntaxe ressemble à la syntaxe clé-valeur d'un objet JavaScript normal. let user = { name: 'John Smith', id: 10, email: 'johns@workcorp.com', }; l...
const myArr = ['one', 'two', 'three'] const [ a, b, c ] = myArr // a = 'one', b = 'two, c = 'three' Nous pouvons définir la valeur par défaut dans le tableau de déstructuration, voir l'exemple de la valeur par défaut lors de la destruction . Avec le tableau de déstructuration, nous pouvon...
La destruction est un moyen pratique d'extraire des propriétés d'objets dans des variables. Syntaxe de base: let person = { name: 'Bob', age: 25 }; let { name, age } = person; // Is equivalent to let name = person.name; // 'Bob' let age = person.age; // 25 Destructuratio...
Voici comment vous pouvez déstructurer un vecteur: (def my-vec [1 2 3]) Ensuite, par exemple dans un bloc let , vous pouvez extraire les valeurs du vecteur très succinctement comme suit: (let [[x y] my-vec] (println "first element:" x ", second element: " y)) ;; first eleme...
Disons que vous avez un vecteur comme ça: (def my-vec [1 2 3 4 5 6]) Et vous voulez extraire les 3 premiers éléments et obtenir les éléments restants sous forme de séquence. Cela peut être fait comme suit: (let [[x y z & remaining] my-vec] (println "first:" x ", second:"...
Parfois, vous voulez détruire la clé sous une carte qui pourrait ne pas être présente dans la carte, mais vous voulez une valeur par défaut pour la valeur déstructurée. Vous pouvez le faire de cette façon: (def my-map {:a 3 :b 4}) (let [{a :a b :b :keys [c d] :or {a 1 ...
La destruction fonctionne dans de nombreux endroits, ainsi que dans la liste des paramètres d'une fn: (defn my-func [[_ a b]] (+ a b)) (my-func [1 2 3]) ;= 5 (my-func (range 5)) ;= 3 La destruction fonctionne également pour la construction & rest dans la liste des paramètres: (defn...
Nous rencontrons souvent une situation où une propriété que nous essayons d'extraire n'existe pas dans l'objet / tableau, ce qui entraîne une TypeError (lors de la déstructuration des objets imbriqués) ou est définie sur undefined . En cas de déstructuration, nous pouvons définir une va...
Nous ne sommes pas limités à la déstructuration d'un objet / tableau, nous pouvons déstructurer un objet / tableau imbriqué. Destructuration d'objets imbriqués var obj = { a: { c: 1, d: 3 }, b: 2 }; var { a: { c: x, d: y }, b: z } = obj; consol...
Dans les affectations, vous pouvez diviser une Iterable en valeurs en utilisant la syntaxe "unpacking": Destructuration en tant que valeurs a, b = (1, 2) print(a) # Prints: 1 print(b) # Prints: 2 Si vous essayez de décompresser plus que la longueur de l'itérable, vous obtenez u...
triples = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] triples.each { |(first, second, third)| puts second } # 2 # 5 # 8 triples.map { |(first, *rest)| rest.join(' ') } # => ["2 3", "5 6", "8 9"]

Page 1 de 1