Node.js 类型';未知[]和#x27;类型';中缺少以下属性;[字符串,未知]';:0,1ts(2739)
我发现错误类型“unknown[]”缺少类型“[string,unknown]”中的以下属性:0,1ts(2739),位于acc.concat([k,…v.map((s)=>Node.js 类型';未知[]和#x27;类型';中缺少以下属性;[字符串,未知]';:0,1ts(2739),node.js,typescript,Node.js,Typescript,我发现错误类型“unknown[]”缺少类型“[string,unknown]”中的以下属性:0,1ts(2739),位于acc.concat([k,…v.map((s)=>${s}${k})]) 我不熟悉打字脚本,这让我有一段时间被卡住了 我正在尝试将json对象从表单对象转换为 "message": { "arctic":[], "atlantic":[ "north", "south", ],
${s}${k}
)])
我不熟悉打字脚本,这让我有一段时间被卡住了
我正在尝试将json对象从表单对象转换为
"message": {
"arctic":[],
"atlantic":[
"north",
"south",
],
"indian":[],
"pacific":[
"north",
"south",
],
"southern":[],
}
"message": [
"artic",
"atlantic",
"north atlantic",
"south atlantic",
"indian",
"pacific",
"north pacific",
"south pacific",
"southern"
]
对形式的物体
"message": {
"arctic":[],
"atlantic":[
"north",
"south",
],
"indian":[],
"pacific":[
"north",
"south",
],
"southern":[],
}
"message": [
"artic",
"atlantic",
"north atlantic",
"south atlantic",
"indian",
"pacific",
"north pacific",
"south pacific",
"southern"
]
从“节点提取”导入提取
界面响应{
状态代码:编号
}
接口ListResponse扩展了响应{
正文:狗名单
}
接口狗表{
信息:数组
状态:字符串
}
功能平面(对象:任意){
返回对象
.条目(对象)
.reduce((acc,[k,v])=>acc.concat([k,[v.map((s)=>`${s}${k}'));//这里有问题
}
导出异步函数处理程序():Promise{
试一试{
const res=等待取数('https://dog.ceo/api/breeds/list/all')
const payload:DogList=await res.json()
如果(res.ok){
const-ret:string[]=flat(payload.message)
返回{
状态代码:res.status,
正文:{
信息:ret,
状态:payload.status
}
}
}
返回{
状态代码:res.status,
机身:有效载荷,
}
}捕捉(错误){
返回{
状态代码:err.code,
正文:{
message:err.message,
状态:err.status,
},
}
}
}
Typescript需要在传递给reduce()
的回调函数上输入类型。它看起来像是flat()
接受一个数组,而不是任何一个,因此您应该首先更正它,然后因为您有对象。条目
并且您知道值是字符串,您可以分配acc:Array
以及map()
,s:String
。如果所有内容都正确键入,TS不应该有抱怨。至少与您给出的示例相比,您的DogList似乎没有正确描述API的结果。