javascript中的变量范围是什么?它们的内部是否与函数外部相同?或者甚至重要吗?另外,如果变量是全局定义的,那么它们存储在哪里?
检查数组是空还是不存在的最佳方法是什么?
像这样的东西?
if(array.length < 1 || array == undefined){
//empty
}
Run Code Online (Sandbox Code Playgroud) 我用来检查数组是否为空
if(array != null){
//code
}
Run Code Online (Sandbox Code Playgroud)
我也是这样发现的
if(Array.isArray(array)){
//code
}
Run Code Online (Sandbox Code Playgroud)
和
if(array.length){
//code
}
Run Code Online (Sandbox Code Playgroud)
以上哪三个更好用?
如何检查嵌套数组是否为空?当没有数据时,数组看起来像这样:
const data = [ [ ] ]
Run Code Online (Sandbox Code Playgroud)
如果它有数据,它看起来像这样:
const data = [
[{"Product": 7 }]
]
Run Code Online (Sandbox Code Playgroud)
要检查它是否为空,我正在执行以下操作,但不起作用:
if (!Array.isArray(data[0][0]) || data[0][0].length === 0) {
return "Data is empty"
}
Run Code Online (Sandbox Code Playgroud)
我不明白的是为什么!Array.isArray(data[0][0])返回true,这意味着嵌套数组不是一个数组(这很奇怪,因为它是一个数组,只是空的)。根据文档,Array.isArray([])返回 true 那么如何!Array.isArray(data[0][0]返回 true?
该data[0][0].length部分抛出一个错误,指出"TypeError: "data[0][0] is undefined""。为什么会这样呢?
这就引出了一个问题:如何检查嵌套数组是否为空?