In JavaScript, masīva klonēšana nozīmē jauna masīva izveidi ar tādiem pašiem elementiem kā sākotnējais masīvs. Masīva klonēšana programmā JavaScript ir noderīga, ja vēlaties izveidot jaunu masīvu, kurā ir tādi paši elementi kā esošajā masīvā, nemainot sākotnējo masīvu.
Kad klonēt masīvu?
Ja vēlaties ar masīvu veikt dažas darbības, piemēram, kārtošanu, filtrēšanu vai kartēšanu, bet nevēlaties modificēt sākotnējo masīvu, varat izveidot sākotnējā masīva klonu un tā vietā veikt darbības ar klonu.
- Nododot masīvu funkcijai kā argumentu, iespējams, vēlēsities nodrošināt, ka funkcija nemaina sākotnējo masīvu. Šajā gadījumā tā vietā varat nodot masīva klonu.
- Ja vēlaties saglabāt sākotnējo masīvu turpmākai uzziņai, varat izveidot sākotnējā masīva klonu un izmantot klonu turpmākai apstrādei vai manipulācijām.
- Ja jums ir masīvs, kurā ir objekti vai masīvi kā elementi, un vēlaties izvairīties no sākotnējo objektu vai masīvu modificēšanas, varat izveidot masīva klonu darbam, lai netiktu veiktas izmaiņas klona objektos vai masīvās. ietekmēt sākotnējos objektus vai masīvus.
Tādējādi masīva klonēšana JavaScript ir noderīgs paņēmiens darbam ar masīviem tādā veidā, kas saglabā oriģinālā masīva un tā elementu integritāti.
Šeit ir daži izplatīti masīva klonēšanas gadījumi:
Satura rādītājs
- Kad klonēt masīvu?
- Izmantojot Array.slice() metodi
- Izmantojot izkliedes operatoru
- Izmantojot metodi Array.from()
- Izmantojot metodi Array.concat()
- For cilpas izmantošana
- Izmantojot metodi Array.map()
- Izmantojot metodi Array.from() ar kartes funkciju
- Izmantojot metodi Array.of()
- Izmantojot metodes JSON.parse() un JSON.stringify().
- Izmantojot Object.assign() metodi
- Izmantojot Array.reduce() metodi
Izmantojot Array.slice() metodi
Mēs izmantojam šķēles metode lai izveidotu seklu masīva kopiju. Šī metode izveido jaunu masīvu ar elementu apakškopu no sākotnējā masīva.
Piemērs: Šis piemērs parāda iepriekš izskaidrotās pieejas ieviešanu.
Javascript const originalArray = [1, 2, 3]; const clonedArray = originalArray.slice(); console.log(clonedArray);>
Izvade
[ 1, 2, 3 ]>
Izmantojot izkliedes operatoru
Izmantojot izkliedes operators … ir kodolīgs un vienkāršs veids, kā klonēt masīvu JavaScript. Izplatīšanas operators ļauj paplašināt masīvu atsevišķos elementos, kurus pēc tam var izmantot jauna masīva izveidei.
kat timpf svars
Piemērs: Šis piemērs parāda iepriekš izskaidrotās pieejas ieviešanu.
Javascript const originalArray = [1, 2, 3]; const clonedArray = [...originalArray]; console.log(clonedArray);>
Izvade
[ 1, 2, 3 ]>
Izmantojot metodi Array.from()
Izmantojot Masīvs.no() metode ir vēl viens veids, kā klonēt masīvu JavaScript. Šī metode izveido jaunu masīvu no esoša masīva, izmantojot izvēles kartēšanas funkciju, lai pārveidotu vērtības jaunajā masīvā.
Piemērs: Šis piemērs parāda iepriekš izskaidrotās pieejas ieviešanu.
Javascript const originalArray = [1, 2, 3]; const clonedArray = Array.from(originalArray); console.log(clonedArray);>
Izvade
[ 1, 2, 3 ]>
Izmantojot metodi Array.concat()
Izmantojot Masīvs.concat() metode ir vēl viens veids, kā klonēt masīvu JavaScript. Šī metode izveido jaunu masīvu, savienojot kopā divus vai vairākus masīvus.
Piemērs: Šis piemērs parāda iepriekš izskaidrotās pieejas ieviešanu.
Javascript const originalArray = [1, 2, 3]; const clonedArray = [].concat(originalArray); console.log(clonedArray);>
Izvade
[ 1, 2, 3 ]>
For cilpas izmantošana
Šī metode ietver atkārtošanu caur katru elementu sākotnējā masīvā un katra elementa kopēšanu jaunā masīvā.
Piemērs: Šis piemērs parāda iepriekš izskaidrotās pieejas ieviešanu.
Javascript const originalArray = [1, 2, 3]; const clonedArray = []; for (let i = 0; i < originalArray.length; i++) { clonedArray.push(originalArray[i]); } console.log(clonedArray);> Izvade
[ 1, 2, 3 ]>
Izmantojot metodi Array.map()
Izmantojot Array.map() metode ir vēl viens veids, kā klonēt masīvu JavaScript. Šī metode izveido jaunu masīvu, kartējot katru elementu no sākotnējā masīva uz jaunu vērtību.
Piemērs: Šis piemērs parāda iepriekš izskaidrotās pieejas ieviešanu.
Javascript const originalArray = [1, 2, 3]; const clonedArray = originalArray.map(x =>x); konsole.log(clonedArray);>>
Izvade [ 1, 2, 3 ]>
Izmantojot metodi Array.from() ar kartes funkciju
Izmantojot Masīvs.no() metodi ar kartes funkciju ir vēl viens veids, kā klonēt masīvu JavaScript. Šī metode izveido jaunu masīvu, kartējot katru elementu no sākotnējā masīva uz jaunu vērtību, izmantojot nodrošināto funkciju.
skenera skenēšana java
Piemērs: Šis piemērs parāda iepriekš izskaidrotās pieejas ieviešanu.
Javascript const originalArray = [1, 2, 3]; const clonedArray = Array.from(originalArray, x =>x); konsole.log(clonedArray);>>
Izvade Izmantojot metodi Array.of()Šī metode izveido jaunu masīvu ar tādiem pašiem elementiem kā sākotnējais masīvs.
Piemērs: Šis piemērs parāda iepriekš izskaidrotās pieejas ieviešanu.
Javascript const originalArray = [1, 2, 3]; const clonedArray = Array.of(...originalArray); console.log(clonedArray);>
Izvade Izmantojot metodes JSON.parse() un JSON.stringify().Izmantojot JSON.parse() un JSON.stringify() metodes ir vēl viens veids, kā klonēt masīvu JavaScript. Šī metode ietver sākotnējā masīva pārveidošanu par JSON virkni un pēc tam JSON virknes parsēšanu, lai izveidotu jaunu masīvu.
Piemērs: Šis piemērs parāda iepriekš izskaidrotās pieejas ieviešanu.
lasīšana no csv faila java
Javascript const originalArray = [1, 2, 3]; const clonedArray = JSON.parse(JSON.stringify(originalArray)); console.log(clonedArray);>
Izvade [ 1, 2, 3 ]>
Izmantojot Object.assign() metodi
Izmantojot Object.assign() metodi ir vēl viens veids, kā klonēt masīvu JavaScript. Šī metode izveido jaunu masīvu, kopējot sākotnējā masīva rekvizītus uz jaunu objektu.
Piemērs: Šis piemērs parāda iepriekš izskaidrotās pieejas ieviešanu.
Javascript const originalArray = [1, 2, 3]; const clonedArray = Object.assign([], originalArray); console.log(clonedArray);>
Izvade [ 1, 2, 3 ]>
Izmantojot Array.reduce() metodi
The Masīvs.reduce() metode izpilda reducēšanas funkciju katram masīva elementam, kā rezultātā tiek iegūta viena izvades vērtība. Mēs varam to izmantot, lai izveidotu jaunu masīvu ar tādiem pašiem elementiem kā sākotnējais masīvs.
Sintakse:
array.reduce((accumulator, currentValue, currentIndex, array) =>{ ... }, sākotnējāVērtība);> Piemērs : šajā piemērā mēs izmantosim metodi Array.reduce(), lai izveidotu masīva klonu.
JavaScript // Input array const originalArray = [1, 2, 3, 4]; // Cloning the array using reduce const clonedArray = originalArray.reduce((acc, val) =>{ acc.push(val); atgriešanās acc; }, []); // Parāda sākotnējos un klonētos masīvus console.log('Original Array:', originalArray); // Izvade: [1, 2, 3, 4] console.log('Cloned Array:', clonedArray); // Izvade: [1, 2, 3, 4]>
Izvade Original Array: [ 1, 2, 3, 4 ] Cloned Array: [ 1, 2, 3, 4 ]>
Piezīme: Tādējādi, klonējot masīvu, ir svarīgi ņemt vērā datu sarežģītību un lietojumprogrammas veiktspējas prasības.