Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 类型';未知[]和#x27;类型';中缺少以下属性;[字符串,未知]';:0,1ts(2739)_Node.js_Typescript - Fatal编程技术网

Node.js 类型';未知[]和#x27;类型';中缺少以下属性;[字符串,未知]';:0,1ts(2739)

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", ],

我发现错误类型“unknown[]”缺少类型“[string,unknown]”中的以下属性:0,1ts(2739),位于acc.concat([k,…v.map((s)=>
${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的结果。