У овом примеру ћете научити да напишете ЈаваСцрипт програм који ће извршити пресек два низа.
Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања ЈаваСцрипт:
- Јавасцрипт филтер низа ()
- ЈаваСцрипт низ низа пусх ()
- ЈаваСцрипт и ВеакСет
Пример 1: Извршите пресецање помоћу скупа
// program to perform intersection between two arrays using Set // intersection contains the elements of array1 that are also in array2 function performIntersection(arr1, arr2) ( // converting into Set const setA = new Set(arr1); const setB = new Set(arr2); let intersectionResult = (); for (let i of setB) ( if (setA.has(i)) ( intersectionResult.push(i); ) ) return intersectionResult; ) const array1 = (1, 2, 3, 5, 9); const array2 = (1, 3, 5, 8); const result = performIntersection(array1, array2); console.log(result);
Оутпут
(1, 3, 5)
У горњем програму се врши пресек између array1
и array2
.
- Елементи низа се конвертују у
Set
елементе помоћуnew Set()
конструктора. for… of
Петља се користи за поновити у другомSet
елементе.has()
Метода се користи за проверу да ли елемент је у првомSet
.- Ако је елемент присутан у првом
Set
, тај елемент се додајеpush()
методи интерсецтионРесулт помоћу методе.
Пример 2: Извршите пресецање помоћу методе филтер ()
// program to perform intersection between two arrays function performIntersection(arr1, arr2) ( const intersectionResult = arr1.filter(x => arr2.indexOf(x) !== -1); return intersectionResult; ) const array1 = (1, 2, 3, 5, 9); const array2 = (1, 3, 5, 8); const result = performIntersection(array1, array2); console.log(result);
Оутпут
(1, 3, 5)
У горњем програму се filter()
методом врши пресек између два низа . Метода филтера се превлачи преко низа и враћа елементе низа који пролазе задати услов.
indexOf()
Методом се сваки елемент првог низа упоређује са другим низом .- Тхе
arr2.indexOf(x)
метод претраге арр2 и повратак на позицију првог појављивања арр1. Ако вредност није могуће пронаћи, враћа -1 . - Сви елементи који се налазе у оба поља враћају се
filter()
методом.
Напомена:includes()
Методом бисте такође могли да проверите да ли су елементи низа у оба низа.
const intersectionResult = arr1.filter(x => arr2.includes(x))