Najprostszy kod przecięcia tablicy w JavaScript

Najprostszy kod przecięcia tablicy w JavaScript
Przecięcie dwóch tablic jest definiowane jako pobieranie elementów istnieje w obu tablicach. W programowaniu można to zwykle osiągnąć poprzez iterowanie jednej tablicy i sprawdzanie obecności każdego elementu w drugiej tablicy. Istnieją również wbudowane funkcje/metody dostępne w wielu językach programowania do wykonania tej operacji.

Ten post zdefiniuje najprostsze podejście do skrzyżowania tablicy w JavaScript.

Jak napisać najprostszy/najszybszy kod do skrzyżowania tablicy w JavaScript?

Aby znaleźć przecięcie tablic w JavaScript, istnieją następujące wstępnie zbudowane metody:

  • "filtr()„Metoda z„Obejmuje ()" metoda
  • "Ustawić()„Metoda z„rozpowszechnianie się operator"
  • "Do" pętla

Metoda 1: Przecięcie tablicy za pomocą metody „Filter ()” z metodą „Obejmując ()”

Użyj "filtr()„Metoda znalezienia skrzyżowania tablic za pomocą„Obejmuje ()" metoda. Metoda „obejmuje ()” sprawdza, czy element w pierwszej tablicy istnieje w drugiej tablicy i zwraca wyjście do metody Filter (). Metoda „Filter ()” odfiltruje elementy i wydrukuje te elementy na konsoli, które są obecne w obu tablicach.

Składnia

Użyj następującej składni, aby znaleźć przecięcie tablic:

Array1.filtr (wartość => array2.Obejmuje (wartość))

Przykład

Utwórz dwie tablice „ARR1”I„ „ARR2”:

var arr1 = [11, 32, 2, 24, 5, 56, 7, 1, 88, 9];
var arr2 = [9, 13, 2, 17, 29, 11];

Zadzwoń do "filtr()„Metoda„ na ”ARR2„Który iteruje elementy„ ARR2 ”i sprawdzi„ARR1„Elementy za pomocą„Obejmuje ()”Metoda, czy elementy ARR2 istnieją w ARR1:

var arrayintersection = arr2.filtr (wartość => arr1.obejmuje (wartość));

Na koniec wydrukuj filtrowane elementy na konsoli, która istnieje na obu tablicach:

konsola.log (arrayintersection);

Można zauważyć, że element „9”,„2", I "11”Są obecne w obu tablicach:

Metoda 2: Przecięcie tablicy za pomocą metody „set ()” z „operatorem rozprzestrzeniania się”

Innym sposobem przecięcia tablic jest użycie „Ustawić()„Metoda z„Operator rozprzestrzeniania się". To podejście najpierw przekształca dwie tablice w zestawy za pomocą konstruktora set (), a następnie używa metody filtra () do odfiltrowania wszystkich elementów w pierwszym zestawie, które są obecne w drugim zestawie.

Składnia

Postępuj zgodnie z podaną składnią do znalezienia skrzyżowania tablicy:

[… Nowy zestaw (ARR1)].Filtr (wartość => Newset (ARR2).ma (wartość))

Przykład

Zadzwoń do "Ustawić()„Metoda z operatorem rozprzestrzeniania, który najpierw przekonwertuje obie tablice na zestawy, a następnie sprawdzić, czy element ARR1 istnieje w ARR2 za pomocą„filtr()" I "ma()" metoda:

var arrayintersection = [… nowy zestaw (ARR1)].filtr (wartość => nowy zestaw (ARR2).ma (wartość))

Wyjście

Metoda 3: Przecięcie tablicy za pomocą pętli „for”

Możesz także użyć „Do„Pętla z„naciskać()„Metoda przecięcia tablicy. Będzie iterować obie tablice do ich długości, a jeśli element ARR1 jest obecny w ARR2, wepchnij ten element do pustej tablicy.

Składnia

Użyj podanej składni do tablic przecięcia za pomocą pętli „for”:

dla (var i = 0; i < array1.length; i++)
dla (var j = 0; j < array2.length; j++)
// stan

Przykład

Utwórz pustą tablicę:

var arrayintersection = [];

Iteruj tablice za pomocą „Do”Pętla i wepchnij te same elementy w obu tablicach do pustej tablicy:

dla (var i = 0; i < arr1.length; i++)
dla (var j = 0; j < arr2.length; j++)
if (arr1 [i] === arr2 [j])
Staranintersection.push (arr1 [i]);


Na koniec wydrukuj tablicę na konsoli:

konsola.log (arrayintersection);

Wyjście wyświetla przecięcie dwóch tablic:

Zebraliśmy wszystkie metody znajdowania skrzyżowania tablicy, ale najprostszą metodą wykonania tego zadania jest „filtr()" metoda.

Wniosek

Najprostszym kodem do znalezienia przecięcia dwóch tablic w JavaScript jest używafiltr()" metoda. Jest używany z „Obejmuje ()„Metoda, która sprawdzi, czy element pierwszej tablicy istnieje w drugiej tablicy. Ten post opisał najprostsze/najszybsze podejście do skrzyżowania tablicy w JavaScript.