Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée de 10 utilisations de l'opérateur de propagation JavaScript (résumé)

青灯夜游
Libérer: 2021-03-24 10:40:54
avant
6707 Les gens l'ont consulté

Cet article vous présentera 10 façons d'utiliser l'opérateur spread en JavaScript. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Explication détaillée de 10 utilisations de l'opérateur de propagation JavaScript (résumé)

Copier un tableau

On peut utiliser l'opérateur spread pour copier un tableau, mais sachez qu'il s'agit d'un Copie superficielle .

const arr1 = [1,2,3];
const arr2 = [...arr1];
console.log(arr2);
// [ 1, 2, 3 ]
Copier après la connexion

De cette façon, nous pouvons copier un tableau de base, notez que cela ne fonctionne pas avec des tableaux multi-niveaux ou des tableaux avec des dates ou des fonctions.

Fusionner les tableaux

Supposons que nous ayons deux tableaux que nous souhaitons fusionner en un seul. Au début, nous pouvions utiliser la méthode concat, mais maintenant nous le faisons. peut utiliser l'opérateur spread :

const arr1 = [1,2,3];
const arr2 = [4,5,6];
const arr3 = [...arr1, ...arr2];
console.log(arr3);
// [ 1, 2, 3, 4, 5, 6 ]
Copier après la connexion

On peut également utiliser différents arrangements pour indiquer lequel doit apparaître en premier.

const arr3 = [...arr2, ...arr1];
console.log(arr3);
[4, 5, 6, 1, 2, 3];
Copier après la connexion

De plus, l'opérateur d'expansion convient également pour fusionner plusieurs tableaux :

const output = [...arr1, ...arr2, ...arr3, ...arr4];
Copier après la connexion

Ajouter des éléments à un tableau

let arr1 = ['this', 'is', 'an'];
arr1 = [...arr1, 'array'];
console.log(arr1);
// [ 'this', 'is', 'an', 'array' ]
Copier après la connexion

À un objet Ajout d'attributs

Supposons que vous ayez un objet de user, mais qu'il lui manque un attribut age.

const user = {
  firstname: 'Chris',
  lastname: 'Bongers'
};
Copier après la connexion

Pour ajouter user à cet age objet, nous pouvons à nouveau utiliser l'opérateur spread.

const output = {...user, age: 31};
Copier après la connexion

Utilisez la fonction Math()

Supposons que nous ayons un tableau de nombres et que nous voulions obtenir le maximum, le minimum ou la somme de ces nombres.

const arr1 = [1, -1, 0, 5, 3];
Copier après la connexion

Pour obtenir la valeur minimale, on peut utiliser l'opérateur spread et la méthode Math.min.

const arr1 = [1, -1, 0, 5, 3];
const min = Math.min(...arr1);
console.log(min);
// -1
Copier après la connexion

De même, pour obtenir la valeur maximale, vous pouvez faire ceci :

const arr1 = [1, -1, 0, 5, 3];
const max = Math.max(...arr1);
console.log(max);
// 5
Copier après la connexion

Comme vous pouvez le voir, la valeur maximale est 5, et si on supprime 5, ce sera reviens 3.

Vous vous demandez peut-être, que se passe-t-il si nous n'utilisons pas l'opérateur de propagation ?

const arr1 = [1, -1, 0, 5, 3];
const max = Math.max(arr1);
console.log(max);
// NaN
Copier après la connexion

Cela renvoie NaN car JavaScript ne sait pas quelle est la valeur maximale du tableau.

paramètres de repos

Supposons que nous ayons une fonction avec trois paramètres.

const myFunc(x1, x2, x3) => {
    console.log(x1);
    console.log(x2);
    console.log(x3);
}
Copier après la connexion

Nous pouvons appeler cette fonction comme suit :

myFunc(1, 2, 3);
Copier après la connexion

Mais que se passe-t-il si nous voulons passer un tableau.

const arr1 = [1, 2, 3];
Copier après la connexion

Nous pouvons utiliser l'opérateur spread pour étendre ce tableau dans notre fonction.

myFunc(...arr1);
// 1
// 2
// 3
Copier après la connexion

Ici, nous divisons le tableau en trois paramètres distincts et les transmettons à la fonction.

const myFunc = (x1, x2, x3) => {
  console.log(x1);
  console.log(x2);
  console.log(x3);
};
const arr1 = [1, 2, 3];
myFunc(...arr1);
// 1
// 2
// 3
Copier après la connexion

Passer des arguments infinis à la fonction

Supposons que nous ayons une fonction qui accepte des arguments infinis comme suit :

const myFunc = (...args) => {
  console.log(args);
};
Copier après la connexion

Si nous maintenant lors de l'appel de cette fonction avec plusieurs paramètres, vous verrez la situation suivante :

myFunc(1, 'a', new Date());
Copier après la connexion

Retours :

[
  1,
  'a',
  Date {
    __proto__: Date {}
  }
]
Copier après la connexion

Ensuite, nous pouvons parcourir dynamiquement les paramètres.

Convertir nodeList en tableau

Supposons que nous utilisions l'opérateur spread pour obtenir tous les p sur la page :

const el = [...document.querySelectorAll('p')];
console.log(el);
// (3) [p, p, p]
Copier après la connexion

peut être trouvé ici Voir nous en avons eu 3 p du dom.

Nous pouvons désormais parcourir facilement ces éléments puisqu'il s'agit de tableaux.

const el = [...document.querySelectorAll('p')];
el.forEach(item => {
  console.log(item);
});
// <p></p>
// <p></p>
// <p></p>
Copier après la connexion

Déstructuration d'un objet

Supposons que nous ayons un objet user:

const user = {
  firstname: 'Chris',
  lastname: 'Bongers',
  age: 31
};
Copier après la connexion

Nous pouvons maintenant le déconstruire en objets individuels à l'aide de la variable d'opérateur de propagation.

const {firstname, ...rest} = user;
console.log(firstname);
console.log(rest);
// 'Chris'
// { lastname: 'Bongers', age: 31 }
Copier après la connexion

Ici, on déstructure l'objet user et on déstructure firstname en une variable firstname et le reste de l'objet en une variable rest.

Développer la chaîne

Le dernier cas d'utilisation de l'opérateur spread consiste à diviser une chaîne en mots individuels.

Supposons que nous ayons la chaîne suivante :

const str = 'Hello';
Copier après la connexion

Ensuite, si nous utilisons l'opérateur spread sur cette chaîne, nous obtiendrons un tableau de lettres.

const str = 'Hello';
const arr = [...str];
console.log(arr);
// [ 'H', 'e', 'l', 'l', 'o' ]
Copier après la connexion

~ Fin

Adresse originale : https://dev.to/dailydevtips1/10-ways-to-use-the-spread-operator-in-javascript-1imb

Auteur : Chris Bongers

Adresse de traduction : https://segmentfault.com/a/1190000038998504

Pour plus de connaissances liées à la programmation, veuillez visiter : Vidéo de programmation ! !

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!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!