Cet article vous présente une introduction à l'utilisation de l'extension de type de structure de données js immutable-js (exemples de code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Par rapport aux langages fortement typés tels que Java et .net, une grande différence entre js et js est que les structures de données n'ont qu'un tableau et un objet, et les deux sont variables dynamiquement, tandis que Java a une liste, un ensemble , Carte et autres structures de données. Par conséquent, afin d'utiliser ces structures de données dans js, immutable-js a vu le jour.
immutable-js étend les collections immuables en JavaScript, c'est-à-dire les types de données qui ne peuvent pas être modifiés une fois créés. Cela simplifie le développement d'applications, la réplication sans défense, permet des schémas de mémoire plus avancés et utilise une logique plus simple pour vérifier les mises à jour. Les données persistantes fournissent des API modifiables qui ne mettent pas à jour les données en place, mais génèrent de nouvelles données mises à jour.
1. Liste : collection d'index ordonnée, similaire à Array en JavaScript
2. ) paires) ensemble
3. OrderedMap : carte ordonnée
4 Set : ensemble sans valeurs en double
5. OrderedSet : ensemble ordonné
6. Stack : Une collection indexée qui prend en charge l'ajout et la suppression d'éléments
7. Range() : Renvoie une collection Seq.Indexed remplie du début à la fin avec la taille du pas, la valeur par défaut de départ est 0, la valeur par défaut du pas est 1, et la valeur par défaut de end est l'infini. Si start = end, une collection vide est renvoyée.
8. Repeat() : renvoie une collection Seq.Indexed qui répète la valeur plusieurs fois. Si times n’est pas défini, renvoie une collection Seq de valeurs infinies.
9. Record : similaire à l'objet JavaScript, mais ne reçoit que des chaînes spécifiques comme clés et a des valeurs par défaut.
10 : permet d'utiliser des fonctions d'ensemble d'ordre supérieur sans collections intermédiaires. ( Une collection d'opérations paresseuses pour des appels en chaîne efficaces tels que map et filter
11. Collection : la classe de base de toutes les structures de données
3.1 fromJS : Convertir une donnée js en données de type immuable-js
const { fromJS, isKeyed } = require('immutable@4.0.0-rc.9'); fromJS({ a: {b: [10, 20, 30]}, c: 40}, function (key, value, path) { console.log(key, value, path) return isKeyed(value) ? value.toOrderedMap() : value.toList() }) > "b", [ 10, 20, 30 ], [ "a", "b" ] > "a", {b: [10, 20, 30]}, [ "a" ] > "", {a: {b: [10, 20, 30]}, c: 40}, []
3.2 est : Comparer deux objets
const { Map, is } = require('immutable@4.0.0-rc.9') const map1 = Map({ a: 1, b: 1, c: 1 }) const map2 = Map({ a: 1, b: 1, c: 1 }) assert.equal(map1 !== map2, true) assert.equal(Object.is(map1, map2), false) assert.equal(is(map1, map2), true)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!