首页 > 解决方案 > 如何使用 forEach 更新符合此条件的所有值

问题描述

我正在创建一个用于选择/取消选择代表数组中对象的复选框的函数。

目前我有:

 selectAll(allType: string, state) {

    this.modalData.columnPermissions.forEach(a =>
      a["can" + allType] = state 
    );

  }

(allType 允许我根据用户从两列顶部选择的 SELECT ALL 来定位“canRead”或“canWrite”键。)

这工作正常 - 但是现在已经引入了一个场景,如果一个对象包含属性 IDM=TRUE 那么“canWrite”应该始终为 FALSE

我正在努力现在如何调整我的 selectAll 函数以排除 KEY canWrite 上具有 IDM=TRUE 属性的任何对象

任何帮助表示赞赏

标签: javascripttypescript

解决方案


我已经用 depperm 的信息解决了这个问题

 this.modalData.columnPermissions.forEach(a => {
  if (allType === 'Write' && !a.IDM) {
    a["can" + allType] = state
  } else if (allType === 'Read') {
    a["can" + allType] = state
  }
 })

推荐阅读