如果财产不存在

时间:2018-06-04 15:47:40

标签: javascript reactjs api

我通过arr.map()过滤数据,然后将该数据发送到React-Table,因为我的API返回了几个我现在不会使用的属性。

const filteredPuntedIssues = this.state.puntedIssues.map(item => ({
  assignee: item ? item.assigneeName : 'Empty',
  id: item ? item.id : 'Empty',
  key: item ? item.key : 'Empty',
  type: item ? item.typeName : 'Empty',
  summary: item ? item.summary : 'Empty',
  storyPoints: item.estimateStatistic ? item.estimateStatistic.statFieldValue.value : '0',
}));

如果任何值为null,则此方法有效,但如果我的API中的某个属性不存在,那么结果是空的,我想将其设为字符串ex:"不存在& #34;

2 个答案:

答案 0 :(得分:1)

 const filteredPuntedIssues = this.state.puntedIssues.map(item => 
   ["assigneeName", "id", "key", "typeName", "summary", "storyPoints"].every(k => item[k])
   ? item
   : "Does not exist"
);

答案 1 :(得分:1)

您可以为此添加另一个三元条件。例如:

assignee: item ? (item.assigneeName ? item.assigneeName : "Does not Exists") : 'Empty'

assignee: item ? (item.assigneeName || "Does not Exists") : 'Empty'