I dette eksempel lærer du at skrive et JavaScript-program, der fletter to arrays og fjerner duplikatelementer fra en matrix.
For at forstå dette eksempel skal du have kendskab til følgende JavaScript-programmeringsemner:
- JavaScript Array concat ()
- JavaScript-sæt og svag sæt
- JavaScript Spread Operator
Eksempel 1: Brug af concat () og for Loop
// program to merge and remove duplicate value from an array function getUniqueAfterMerge(arr1, arr2)( // merge two arrays let arr = arr1.concat(arr2); let uniqueArr = (); // loop through array for(let i of arr) ( if(uniqueArr.indexOf(i) === -1) ( uniqueArr.push(i); ) ) console.log(uniqueArr); ) const array1 = (1, 2, 3); const array2 = (2, 3, 5) // calling the function // passing array argument getUniqueAfterMerge(array1, array2);
Produktion
(1, 2, 3, 5)
I ovenstående program flettes de to matrixelementer sammen, og duplikatelementerne fjernes.
Her,
- De to arrays flettes ved hjælp af
concat()
metoden. - Den
for… of
løkke anvendes til at sløjfe gennem alle elementerne i arr. - Den
indexOf()
metode returnerer -1 hvis elementet ikke er i array'et.
Derfor, hvis elementet er lig med -1 under hver iteration, føjes elementet til det unikkeArr-array ved hjælp af push()
metoden.
Eksempel 2: Brug af Spread Syntax og Set
// program to merge and remove duplicate value from an array function getUniqueAfterMerge(arr1, arr2)( // merge two arrays let arr = (… arr1,… arr2); // removing duplicate let uniqueArr = (… new Set(arr)); console.log(uniqueArr); ) const array1 = (1, 2, 3); const array2 = (2, 3, 5) // calling the function getUniqueAfterMerge(array1, array2);
Produktion
(1, 2, 3, 5)
I ovenstående program flettes to arrays sammen og Set
bruges til at fjerne duplikatelementer fra en matrix.
Det Set
er en samling af unikke værdier.
Her,
- To matrixelementer flettes sammen ved hjælp af den spredte syntaks
…
- Arrayet konverteres til,
Set
og alle duplikatelementerne fjernes automatisk. - Den spredte syntaks
…
bruges derefter til at inkludere alle elementerne i sættet tilbage til en matrix.