Javascript 如何在lodash中实现多个if语句
有没有一种方法可以使用Javascript 如何在lodash中实现多个if语句,javascript,lodash,Javascript,Lodash,有没有一种方法可以使用lodash消除多个if条件 请帮助类似的方法可能会奏效: import { get } from 'lodash'; import preferences from '../preferences.json'; function billingAggregation(data) { const response = { cardDetails: [], address: {}, }; if (data.items
lodash
消除多个if条件
请帮助类似的方法可能会奏效:
import { get } from 'lodash';
import preferences from '../preferences.json';
function billingAggregation(data) {
const response = {
cardDetails: [],
address: {},
};
if (data.items && data.items.paypal) {
const creditCardObj = {
firstName: get(data.items.paypal.address, 'firstName', undefined),
lastName: get(data.items.paypal.address, 'lastName', undefined),
cardType: preferences.cardTypes.PAYPAL,
cardNumber: get(data.items.paypal, 'number', undefined),
total: get(data.items.paypal, 'amount', undefined),
};
response.cardDetails.push(creditCardObj);
response.address = get(data.items.paypal, 'address', {});
}
if (data && data.items && data.items.creditCards && data.items.creditCards.length > 0) {
const creditCardObj = {
firstName: get(data.items.creditCards[0], 'address.firstName', undefined),
lastName: get(data.items.creditCards[0], 'address.lastName', undefined),
cardType: get(data.items.creditCards[0], 'type', undefined),
cardNumber: get(data.items.creditCards[0], 'number', undefined),
total: get(data.items.creditCards[0], 'amount', undefined),
};
response.cardDetails.push(creditCardObj);
response.address = get(data.items.creditCards[0], 'address', {});
}
if (data && data.items && data.items.unnamed
&& data.items.unnamed.giftCards
&& data.items.unnamed.giftCards.length > 0) {
const giftCardObj = {
firstName: get(data.items.unnamed.address, 'firstName', undefined),
lastName: get(data.items.unnamed.address, 'lastName', undefined),
cardType: preferences.cardTypes.GIFTCARD,
cardNumber: get(data.items.unnamed.giftCards[0], 'number', undefined),
total: get(data.items.unnamed.giftCards[0], 'amount', undefined),
};
response.cardDetails.push(giftCardObj);
if (!response.address.id) {
response.address = get(data.items.unnamed, 'address', {});
}
}
return response;
}
export default billingAggregation;
类似的方法可能会奏效:
import { get } from 'lodash';
import preferences from '../preferences.json';
function billingAggregation(data) {
const response = {
cardDetails: [],
address: {},
};
if (data.items && data.items.paypal) {
const creditCardObj = {
firstName: get(data.items.paypal.address, 'firstName', undefined),
lastName: get(data.items.paypal.address, 'lastName', undefined),
cardType: preferences.cardTypes.PAYPAL,
cardNumber: get(data.items.paypal, 'number', undefined),
total: get(data.items.paypal, 'amount', undefined),
};
response.cardDetails.push(creditCardObj);
response.address = get(data.items.paypal, 'address', {});
}
if (data && data.items && data.items.creditCards && data.items.creditCards.length > 0) {
const creditCardObj = {
firstName: get(data.items.creditCards[0], 'address.firstName', undefined),
lastName: get(data.items.creditCards[0], 'address.lastName', undefined),
cardType: get(data.items.creditCards[0], 'type', undefined),
cardNumber: get(data.items.creditCards[0], 'number', undefined),
total: get(data.items.creditCards[0], 'amount', undefined),
};
response.cardDetails.push(creditCardObj);
response.address = get(data.items.creditCards[0], 'address', {});
}
if (data && data.items && data.items.unnamed
&& data.items.unnamed.giftCards
&& data.items.unnamed.giftCards.length > 0) {
const giftCardObj = {
firstName: get(data.items.unnamed.address, 'firstName', undefined),
lastName: get(data.items.unnamed.address, 'lastName', undefined),
cardType: preferences.cardTypes.GIFTCARD,
cardNumber: get(data.items.unnamed.giftCards[0], 'number', undefined),
total: get(data.items.unnamed.giftCards[0], 'amount', undefined),
};
response.cardDetails.push(giftCardObj);
if (!response.address.id) {
response.address = get(data.items.unnamed, 'address', {});
}
}
return response;
}
export default billingAggregation;
您是否在寻找特定的lodash功能或重构复杂代码的方法?您是否在寻找特定的lodash功能或重构复杂代码的方法?