问题描述
我想使用 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
...
}
}