循环遍历嵌套对象数组以检查空字符串es6



我有一个嵌套对象数组:

const array =[
{ 
"id": 1,
"time": { 
"timezone": "2021-09-22T05:36:22.484Z"
"city": "Perth"
"country:: "Australia
"date": "2021/10/10"
}
},
{
​"id": 2,
​"time": { 
"timezone": ​"2021-10-22T03:25:26.484Z"
"city": ""
"country: "Americas"
"date": "2021/10/10"
}
},
{
​"id": 3,
​"time": { 
"timezone": ​"2021-09-27T02:43:26.564Z"
"city": ""
"country: ""
"date": "2021/10/10"
}
}];

我想检查time对象中的每个值,看看是否存在空字符串,而不必使用多个||语句。

我试过使用lodash:

if(array.find((k)=> _.isEmpty(k.timezone)) || array.find((k)=> _.isEmpty(k.city)) || array.find((k)=> _.isEmpty(k.country)) || array.find((k)=> _.isEmpty(k.date))) {
//do something

} else {
//do something else
}

这似乎做的技巧,但试图找到一个简洁和更清晰的方式来做到这一点,因为可能有更多的值在时间对象,最好在es6。

检查time子对象的Object.values中的.some是否包含空字符串

if (array.some(
k => Object.values(k.time).includes('')
)) {
// do something
} else {
// do something else
}

最新更新