我正在使用lodash _.map,尝试根据条件分配变量值,因此在以下代码中,我仅在oldDrugPrice.mailPrice中有对象时才想调用convertPrice。我们如何完成这项任务?

如果oldDrugPrice没有mailPrice,则不要在对象中添加mailPrice。

main.js

return _.map(cvsResponse, function(oldDrugPrice) {
    return {
      isBrand:        oldDrugPrice.brand,
      drugForm:       capitalizeWords(oldDrugPrice.drugForm),
      mailPrice:      convertPrice(oldDrugPrice.mailPrice, version),
    };

最佳答案

首先创建对象并在条件为true时添加属性,然后返回对象

return _.map(cvsResponse, function(oldDrugPrice) {

  const obj = {
    isBrand: oldDrugPrice.brand,
    drugForm: capitalizeWords(oldDrugPrice.drugForm)
  };

  if (typeof oldDrugPrice.mailPrice === 'object') {
    obj.mailPrice = convertPrice(oldDrugPrice.mailPrice, version),
  }
  return obj;
})

关于javascript - 构造js对象时如何根据条件分配对象属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57065385/

10-12 13:05