Kaip „JavaScript“ konvertuoti „Set“ į „Array“?

Kaip „JavaScript“ konvertuoti „Set“ į „Array“?

Norėdami konvertuoti a Nustatyti į an Masyvas , turime žinoti pagrindines rinkinio charakteristikas. A rinkinys yra unikalių daiktų rinkinys, t. y. nė vienas elementas negali pasikartoti. Nustatyti ES6 yra išdėstyti, ty elementai rinkinys gali būti kartojamas įterpimo tvarka. Konvertuoti rinkinį į masyvą „JavaScript“ yra nesudėtinga dėl unikalios rinkinių elementų prigimties ir tvarkingos struktūros.

konvertuoti rinkinį į masyvą

konvertuoti rinkinį į masyvą „JavaScript“.

A rinkinys galima konvertuoti į masyvą JavaScript šiais būdais:

Turinys

1. Naudojant JavaScript Array.from() metodą

JavaScript Array.from() metodas grąžina naują masyvą iš masyvo, objekto ar kitų kartojamų objektų, pvz., žemėlapio, rinkinio ir kt. Jis paima rinkinį kaip parametrą ir konvertuoja jį į masyvą.

Sintaksė:

const arrayName = Array.from(setName); 

Pavyzdys: T jo pavyzdys paverčia rinkinį į masyvą, naudodamas Masyvas.iš() metodas

Javascript
// Creating array from input string const mySet = new Set([1, 1, 2, 3, 4, 4, 5, 6, 5]); console.log('Elements in the set are: ', mySet); let myArr = Array.from(mySet); // Display output console.log('Elements in the Array created using Set are: ', myArr); 

Išvestis
Elements in the set are: Set(6) { 1, 2, 3, 4, 5, 6 } Elements in the Array created using Set are: [ 1, 2, 3, 4, 5, 6 ] 

2. JavaScript Spread Operator naudojimas

The „JavaScript“ sklaidos operatorius gali būti naudojamas sunaikinti masyvo elementus ir priskirti juos naujam kintamajam masyvo pavidalu.

Sintaksė:

const arrayName = [...setName]; 

Pavyzdys: Žemiau pateiktas kodas konvertuoja rinkinį į masyvą naudodamas sklaidos operatorius .

Javascript
// Input set let mySet = new Set(['GFG', 'JS']); console.log('Elements in the set are: ', mySet); // Convert using spread operator let myArr = [...mySet]; // Display output console.log('Elements in the Array created using Set are: ', myArr); 

Išvestis
Elements in the set are: Set(2) { 'GFG', 'JS' } Elements in the Array created using Set are: [ 'GFG', 'JS' ] 

3. Naudojant JavaScript forEach() metodą

The arr.forEach() metodas vieną kartą iškviečia pateiktą funkciją kiekvienam aibės elementui, kai jie perkeliami į masyvą naudojant push() metodą.

Sintaksė:

 setName.forEach((ele)=>{ masyvasName.push(jam); }); 

Pavyzdys: Žemiau pateiktame kodo pavyzdyje naudojama kiekvienam () metodui konvertuoti aibę į masyvą.

Javascript
// Create input set let newSet = new Set(); let arr = []; newSet.add('Geeks'); newSet.add('for'); // Duplicate item newSet.add('Geeks'); console.log('Set Elements: ', newSet); let someFunction = function (val1) {  arr.push(val1); }; newSet.forEach(someFunction); // Display output console.log('Array Elements: ' + arr); 

Išvestis
Set Elements: Set(2) { 'Geeks', 'for' } Array Elements: Geeks,for 

4. Naudojant Lodash _.toArray() metodą

„Lodash“ yra „JavaScript“ biblioteka, leidžianti mums naudoti _.toArray() metodas, kuris priima reikšmę ir konvertuoja ją į masyvą.

PASTABA: Norėdami naudoti šį metodą, turite įdiegti lodash biblioteką vietinėje sistemoje naudodami npm i lodash komandą.

Sintaksė:

const arrayName = _.toArray(setName); 

Pavyzdys: Toliau pateiktas kodas įgyvendina lodash bibliotekos metodą _.toArray() ir konvertuoja rinkinį į masyvą.

Javascript
// Requiring the lodash library  const _ = require('lodash'); let set = new Set(['welcome', 'to', 'GFG']); console.log('Set Elements: ', set); // Use of _.toArray() method  console.log('Array Elements: ', _.toArray(set)); 

Išvestis:

Set Elements: Set(3) { 'welcome', 'to', 'GFG' } Array Elements: [ 'welcome', 'to', 'GFG' ] 

5. Array.from() metodo naudojimas su atvaizdavimo funkcija

Kol Masyvas.iš() metodas dažniausiai naudojamas kartotiniams, pvz., rinkiniams, konvertuoti į masyvus, taip pat leidžia naudoti atvaizdavimo funkciją. Ši atvaizdavimo funkcija gali būti naudinga transformuojant kiekvieną rinkinio elementą konvertavimo proceso metu.

Sintaksė:

const arrayName = Array.from(setName, mapFunction); 

Pavyzdys: Šiame pavyzdyje parodyta, kaip naudoti Array.from() su susiejimo funkcija, norint konvertuoti rinkinį į masyvą su modifikuotais elementais.

JavaScript
// Create a set with numerical values const numSet = new Set([1, 2, 3, 4, 5]); // Convert the set to an array, doubling each element const doubledArray = Array.from(numSet, x =>x * 2); console.log('Dvigubas masyvas:', doubledArray);>>   
Išvestis
Doubled Array: [ 2, 4, 6, 8, 10 ] 

„JavaScript“ Array.prototype.map metodo naudojimas su Spread Operator

Kitas būdas konvertuoti rinkinį į masyvą „JavaScript“ yra žemėlapio metodo derinimas su sklaidos operatoriumi. Šis metodas leidžia konvertuoti elementus konvertavimo proceso metu, panašiai kaip Array.from() su atvaizdavimo funkcija, bet naudojant kitą sintaksę.

Sintaksė :

Pavyzdys: Šiame pavyzdyje rinkinį konvertuosime į masyvą ir kiekvienam elementui pritaikysime transformaciją, naudodami žemėlapio metodą.

JavaScript
// Create a set with string values const stringSet = new Set(['a', 'b', 'c', 'd']); // Convert the set to an array, appending a suffix to each element const suffixedArray = [...stringSet].map(x =>x + '_priesaga'); console.log('Sufiksuotas masyvas:', sufiksuotas masyvas);>>   
Išvestis