在我的项目中,我可以收到两种不同的响应:

var data ={
  'ADULT':{},
  'bounds':[],
  'checkInEligible':true,
  'departureDate':'2016-07-15',
  'id':'car'
}


或者我也可以得到响应:

var data = {
  ADULT:{
    'confirmationNumber':'29YNK',
    'checkInEligible':true
  },
  bounds:[],
  departureDate:"2016-07-15",`enter code here`
  id:"air"
}


我需要使用一些lodash方法来断言键“ checkInEligible”在某种程度上存在于响应中。

我尝试使用.some方法,但似乎仅对数组有效并且仅对根级别有效,因为仅当对象os在根级别上才返回true。

我已经试过了:

isCheckInEligible: function () {
    return _.some(data, function (value, key) {
        return key === 'checkInEligible' && value
    });
}


或这个:

isCheckInEligible: function () {
    return _.some(data, 'checkInEligible');
}


有人可以用这种lodash方法或任何其他lodash方法帮助我吗?
但是我必须使用lodash。

谢谢!

最佳答案

也许使用_.has

isCheckInEligible: () => {
    return _.has(data, 'checkInEligible') || _.has(data, 'ADULT.checkInEligible');
}

09-16 08:30