繁体   English   中英

为什么这个不为空的数组返回为空?

[英]Why does this array, which is not empty, return as empty?

真的很难理解为什么我的条件正在解决数组不是空的问题!

这是代码:

const info = [
    [
        {
            "Post": 7
        }
    ]
]

let Result;
     if (!Array.isArray(info[0][0]) || info[0][0].length === 0) {
        Result = {"Error": "No info"}
     }

即使info中有数据,我仍然返回Result as {"Error: "No info"}

为什么我的if条件不能正常工作? 我认为它与.Array.isArray(info[0][0])部分有关,但不确定到底是什么。

更新:

如果没有Post ,那么info就变成了这样:

const info = [ [ ] ]

这就是为什么我需要检查info[0][0]是否为空

我相信您在调用Array.isArray时遇到了错误。 您提供了输入info[0][0] ,但您想检查Array[0]是否为数组。

修复错误的新代码:

const info = [
    [
        {
            "Post": 7
        }
    ]
]

let Result;
     if (!Array.isArray(info[0]) || info[0].length === 0) {
        Result = {"Error": "No info"}
     }

编辑:检查长度时还删除了额外的[0]

Array.isArray 返回 false 因为 info[0][0] 是 { "Post": 7 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM