我有一个JavaScript对象,它有几个属性:
{
banking: {
account_number: null,
account_type: null,
bank_name: null,
debit_day: null
},
fitment: {
date: null,
terms: null
},
personal_info: {
email: null,
IDNumber: null,
mobile: null,
name: null,
residential_address: null,
surname: null,
title: null,
work_address: null,
work_tel: null
},
vehicle: {
brand: null,
colour: null,
model: null,
registration: null,
vin: null,
year: null
}
}
所有顶级属性和嵌套属性的默认值均为null
。
我正试图找出一种方法,将属性分为三组,即:
- 空**、部分和完整。
"空"是将段内的所有值设置为null
的情况。
"partial"表示已设置部分中的某些值(并非所有null
)
"complete"表示一个部分中没有值被设置为null
。所有部分都有值。
我的第一次尝试是在_.some()
中使用Underscore库,但是我似乎无法满足所有的组场景。
如能给予帮助和指导,不胜感激。
谢谢!
2条答案
按热度按时间k7fdbhmy1#
您可以先检查
every
,然后检查some
,或者默认为empty
。输出
如果你想优化这个,你可以用
1
(不是null
)或0
(null
)标记每个字段,并减少值。一个三个三个一个
ajsxfq5m2#
您还可以使用
_.groupBy
进一步分解这个问题。首先,使用一个函数来确定单个部分的类别:然后,将其与
_.groupBy
组合,为每个类别创建原始对象的数组:把所有这些放在一起:
一个二个一个一个