javascript - 如何在 javascript/vuejs 中的 map 中使用 if 语句

标签 javascript vue.js mapping vuejs2

我正在 Vuejs 中构建一个小型应用程序,在其中获取响应数据并将其映射到变量,我有几个元素具有空数组,所以虽然映射 我想检查条件并相应地映射。这是我的代码:

this.model = a.map(i => Object.assign({
    'id': i.id,
    'meeting_date': i.schedule,
    'meeting_call': i.type,
    'event_type': i.event_type,
    'venue': i.venue,
    'with_client': i.with_client
},{
    if(i.meeting.meeting_summaries)
    {
        'meeting_summaries': i.meeting_summaries.map(ms => ({
            client_name: ms.client_name,
            nature: ms.nature,
            action: ms.action,
            mention: ms.user_id,
            feedback: ms.feedback
        }))
    }

},

最佳答案

map 是纯函数式的,它不会修改元素而是返回新形成的数组,因此您可以这样做:

this.model = a.map(i => {
  var item = {}
  item['id']= i.id,
  item['meeting_date']= i.schedule,
  item['meeting_call']= i.type,
  item['event_type']= i.event_type,
  item['venue']= i.venue,
  item['with_client']= i.with_client
  if(i.meeting && i.meeting.meeting_summaries) {
     item['meeting_summaries']= i.meeting.meeting_summaries.map(ms =>({
            client_name: ms.client_name,
            nature: ms.nature,
            action: ms.action,
            mention: ms.user_id,
            feedback: ms.feedback
        }))
  }else {
   item['meeting_summaries'] = []
  }
 return item
}

关于javascript - 如何在 javascript/vuejs 中的 map 中使用 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44361875/

相关文章:

javascript - 将缩略图添加到 jssor 视频库

javascript - 无法理解使用 webpack 和 es6 模块的 EventEmitter 发生了什么

ios - RestKit CoreData 一对多关系映射,To Many 部分不起作用

javascript - 禁用 VuetifyJS 中的所有转换

Java:如何使用 Map<String,String> 填充文本中的占位符?

java - 一个 Java 类和多个表的 Hibernate 最佳方法?

javascript - 使用 React Native 创建 apk 时出现问题

javascript - 如何迭代具有嵌套属性的 JSON 对象、操作并返回新对象?

javascript - 测试元素是否存在 Vuejs, Karma, Mocha

javascript - jsPDF 生成内部包含拉伸(stretch)元素的 pdf