Convert a Set to an Array in JavaScript
Jan 25, 2023
Converting a Set to an Array is convenient for using array methods that aren't on sets, like filter()
or reduce()
.
The most concise way to convert a Set to an array is using the spread operator as follows.
const set = new Set(['a', 'b', 'c']);
[...set]; // ['a', 'b', 'c']
[...set].map(c => c.toUpperCase()); // ['A', 'B', 'C']
You Usually Don't Need to Convert a Set to an Array
You may convert sets to arrays for helpers like filter()
and map()
.
But keep in mind that for/of
, which we recommend for iterating over an array, also works with sets.
const set = new Set(['a', 'b', 'c']);
for (const char of set) {
console.log(char); // Prints "a", "b", "c"
}
Alternative: Use Array.from()
The spread operator has pretty good browser compability.
However, if you need to support older browsers, you may consider using the Array.from()
function, which is easier to polyfill.
const set = new Set(['a', 'b', 'c']);
Array.from(set); // ['a', 'b', 'c']
Array.from(set).map(c => c.toUpperCase()); // ['A', 'B', 'C']
More Fundamentals Tutorials
- How to Add 2 Arrays Together in JavaScript
- The String `match()` Function in JavaScript
- What Does Setting the Length of a JavaScript Array Do?
- Get the Last Element in an Array in JavaScript
- Skip an Index in JavaScript Array map()
- Conditionally Add an Object to an Array in JavaScript
- Validate Emails using Regex in JavaScript