How do I check whether a nested array is empty or not? The array looks like this when there is no data:
const data = [ [ ] ]
And if it has data it looks like this:
const data = [
[{"Product": 7 }]
]
To check if it is empty I am doing the following which does not work:
if (!Array.isArray(data[0][0]) || data[0][0].length === 0) {
return "Data is empty"
}
What I don't understand is why
!Array.isArray(data[0][0])returns true, which means the nested array is not an array (which is strange because it is an array, just empty). According to the docs,Array.isArray([])returns true so how can!Array.isArray(data[0][0]return true?The
data[0][0].lengthpart throws an error saying"TypeError: "data[0][0] is undefined"". Why would that be the case?That leads to the question of how to check if a nested array is empty or not?
data[0].lengthdata[0]instead.data[0][0]isundefined(data[0]is an empty array), which indeed isn't an arraydatais the parent array. It has one item in it which is the child array. So to access the first item ofdata(the child array) you have to dodata[0]. I went one level too deep!