我有一个类似于以下内容的原始数据数组,其中包含我想在我的应用程序中使用的相应类型的接口:
const rawData = [
{
id: 122314,
friends: 'A,B,C'
},
{
id: 23342,
friends: 'B,C'
},
{
id: 412,
friends: 'B,C'
},
]
interface DataElement {
id: number
friends: string[]
}
请注意,真实数据集中包含大约15个我想要保留的其他字段。
如何将原始数据转换为类型化数据?到目前为止,我尝试过的所有内容都会导致string
不匹配string[]
的类型错误,因为朋友的类型显然会发生冲突。
答案 0 :(得分:0)
有些事情:
const elts: DataElement[] = rawData.map(d => Object.assign({},d,{friends: d.friends.split(',')}) as DataElement)
Object.assign
是为了避免在转换期间改变rawData。如果你不介意,可以更短