Javascript TypeError:无法读取属性';0';推送代码后的空值
控制台上显示的错误为:Javascript TypeError:无法读取属性';0';推送代码后的空值,javascript,Javascript,控制台上显示的错误为: TypeError: Cannot read property '0' of null at app.post (/root/src/master.js:24:29) 师父24:29这是吗 let outputs = req.body.outputs let outs = [] for (let out of outputs) { outs.push({ address: out.addresses[0], value: ou
TypeError: Cannot read property '0' of null
at app.post (/root/src/master.js:24:29)
师父24:29这是吗
let outputs = req.body.outputs
let outs = []
for (let out of outputs) {
outs.push({
address: out.addresses[0],
value: out.value
})}
}
第24行是地址:
out.地址[0],
来自此json的请求
"outputs": [
{
"value": 10000,
"script": "a91402f42dce015def2fab0b1d6f7f6c742bae66e75e87",
"addresses": [
"31xdnmzVzmAQ5CaWxtiDr3jwCFfeUpHEb1"
],
"script_type": "pay-to-script-hash"
},
{
"value": 1020,
"script": "0014396ef6487043092385338ccfe9d327fb031975d6",
"addresses": null,
"script_type": "pay-to-witness-pubkey-hash"
}
]
有人能帮我修一下吗?非常感谢 地址为空。可以添加空检查
let outputs = req.body.outputs
let outs = []
for (let out of outputs) {
outs.push({
address: out.addresses ? out.addresses[0] : '',
value: out.value
})}
}
由于您的
地址可以为空(根据您共享的样本输出)
如果out.addresses
在对象中的某个位置为null
address
为null,则设置空数组
因此,您可以添加一个条件,使用terniary
操作符检查address
是否present
let outputs = req.body.outputs
let outs = []
for (let out of outputs) {
outs.push({
address: out.addresses ? out.addresses[0] : '',
value: out.value
})}
}
地址:out.addresses?out.地址[0]:'',
上一行检查是否存在
out.addresses`,如果存在,则返回,否则返回空字符串。请向我们展示您的输出
的样子。out.addresses
很可能是null
。。。如错误消息中所述。-->在第二个输出中“addresses”:null,
,因为您的帮助伙伴的JsonTank中有“addresses”:null,
!谢谢你的帮助,伙计!谢谢你的帮助和解释!祝你有美好的一天!很高兴帮助你。你可以投票表决我的答案。如果您觉得有用的话。:-)
let outputs = req.body.outputs
let outs = []
for (let out of outputs) {
outs.push({
address: out.addresses ? out.addresses[0] : '',
value: out.value
})}
}