Javascript nodeJS:forEach循环不是函数,错误
我正在使用Javascript nodeJS:forEach循环不是函数,错误,javascript,node.js,foreach,Javascript,Node.js,Foreach,我正在使用array.forEach()函数,我得到一个错误 parsedBody.forEach不是函数 parseBody生成一个值,我在其他方法中使用了forEach,函数运行良好。那么为什么在这种情况下,forEach不起作用呢 编辑:parseBody是一个对象。如何将其转换为数组 (server.js): (console.log): [stdout]-before request.post [stdout]使用JSON启动响应 [stderr]/app/server.js:43
array.forEach()
函数,我得到一个错误
parsedBody.forEach不是函数
parseBody
生成一个值,我在其他方法中使用了forEach
,函数运行良好。那么为什么在这种情况下,forEach
不起作用呢
编辑:parseBody是一个对象。如何将其转换为数组
(server.js):
(console.log):
[stdout]-before request.post
[stdout]使用JSON启动响应
[stderr]/app/server.js:435
[stderr]parseBody.forEach(函数(元素、索引、数组){//*
[stderr]^
[stderr]类型错误:parseBody.forEach不是函数
[stderr]应请求返回(/app/server.js:435:15)
[stderr]at Request.self.callback(/app/node_modules/Request/Request.js:188:22)
[stderr]在emitTwo(events.js:106:13)
[stderr]at Request.emit(events.js:191:7)
[stderr]应请求。(/app/node_modules/Request/Request.js:1171:10)
[stderr]在emitOne(events.js:96:13)
[stderr]at Request.emit(events.js:188:7)
[stderr]输入消息。(/app/node_modules/request/request.js:1091:12)
[stderr]位于IncomingMessage.g(events.js:286:16)
[stderr]在emitNone(events.js:91:20)
[stdout]路径0
[stdout]错误:null
[stdout]parseBody.additionalData iaagtygbagkcbfow4f4darkdaqkdaqdaq
由于您使用点符号访问parseBody,因此它似乎是一个对象。您需要一个数组来使用forEach方法。将parseBody转换为数组,问题就解决了
要将其转换为阵列,有一种可能的解决方案:
var arr = Object.keys(parseBody).map(function(key){ return parseBody[key]; });
我认为parseBody是一个对象而不是数组,因此您不能使用foreach,或许可以尝试以下方法:
for(var key in parseBody){
console.log("result: " + parseBody[key]);
}
如果
parsedBody
是数组(parsebody instanceof Array
或类似的东西),我猜parsebody不是数组检查@Andreas他试图解码parsebody
,而不是parsebody。其他数据
如何将parsebody对象转换为数组。我尝试使用parsebody.toArray(Array\u result)=>{array_result.forEach((element)=>{console.log('path 3');});但它不起作用。
var arr = Object.keys(parseBody).map(function(key){ return parseBody[key]; });
for(var key in parseBody){
console.log("result: " + parseBody[key]);
}