当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


TypeScript Set转Array用法及代码示例


A 设定于TypeScript用于创建不包含重复元素的特定类型的列表。如果任何元素重复多次,它将自动删除重复的存在并仅在列表中考虑它一次。在本文中,我们将把这些类型的列表转换为也接受重复值的数组。

以下是将集合转换为数组的方法:

使用Array.from()方法

Array.from() 方法从具有 length 属性且可迭代的实体返回一个数组。由于Set是一个可迭代的实体,我们可以使用此方法将其转换为数组。

用法:

const newArrayName = Array.from(setName);

例子:下面的代码示例说明了如何使用 Array.from() 方法将 Set 转换为数组。

Javascript


const testSet = new Set<number>();
for (let i = 1; i <= 5; i++) {
    testSet.add(i);
}
console.log(testSet);
const arrayFromSet: number[] =
    Array.from(testSet);
console.log(arrayFromSet);
arrayFromSet[5] = 5;
console.log(arrayFromSet);

输出:

Set (5) {1, 2, 3, 4, 5}
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 5]

使用扩展运算符

扩展运算符还可以用于将 Set 转换为数组,使用三个点 (…) 语法,后跟 Set 的名称。

用法:

const newArrayName = [...setName];

例子:下面的代码示例实现了扩展运算符,以将 TypeScript 中的集合转换为数组。

Javascript


const testSet = new Set<number>();
for (let i = 1; i <= 5; i++) {
    testSet.add(i);
}
console.log(testSet);
const arrayFromSet: number[] = [...testSet];
console.log(arrayFromSet);
arrayFromSet[5] = 5;
console.log(arrayFromSet);

输出:

Set (5) {1, 2, 3, 4, 5}
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 5]

使用forEach()迭代器方法

我们可以使用forEach()循环遍历Set的所有元素,然后使用Array.push()方法将它们中的每一个元素推入一个数组中。

用法:

setName.forEach((val)=>{
arrayName.push(val);
});

例子:下面的代码示例使用 forEach() 循环方法将 Set 转换为 TypeScript 中的数组。

Javascript


const testSet = new Set<number>();
for (let i = 1; i <= 5; i++) {
    testSet.add(i);
}
console.log(testSet);
const arrayFromSet: number[] = [];
testSet.forEach((setVal) => {
    arrayFromSet.push(setVal)
});
console.log(arrayFromSet);
arrayFromSet[5] = 5;
console.log(arrayFromSet);

输出:

Set (5) {1, 2, 3, 4, 5}
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 5]


相关用法


注:本文由纯净天空筛选整理自abhish8rzd大神的英文原创作品 How to Convert a Set to an Array in TypeScript ?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。