无法在 Typescript 数组上使用 set 函数

问题描述

我想使用 set 函数仅将数组的唯一值转换为单独的数组。这是我的代码

import { readFileSync } from 'fs';
import { Table } from 'apache-arrow';

const arrow = readFileSync('file.arrow');
const table = Table.from(arrow);
const table_array = table.toArray();
var values : string[] = [];

for(let i = 0; i < table_array.length; ++i){
    var str = table_array[i][1]
    var id_val = str.toString().split('.');
    values.push(id_val[6]);
}

var unique_id = [...new Set(values)];

console.log(values)

这是我得到的错误

error TS2569: Type 'Set<string>' is not an array type or a string type.
var unique_id = [...new Set(values)];

这是控制台输出。我不得不隐藏这些值,但它们是字符串格式的数字:

[
  '####','####',... 427 more items
]

解决方法

将此 downlevelIteration 属性设置为您的 tsconfig.json 文件,以允许按照编辑器的建议迭代可迭代对象

{

"compilerOptions": {
       ...

      "downlevelIteration": true
       ...
    }
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...