判断当前操作列表是否属于特殊规则

1、所勾选内容全都是特殊元素NLF、LFN,或者全都是可能新增的特殊元素,可以继续操作
2、所勾选内容全都是非特殊元素,可以继续操作
3、所勾选内容同时包含特殊元素和非特殊元素,不可继续操作

// 判断渠道是否属同一种类型
    function judgeSameSubarray(contentSelection) {
      // 所勾选内容
      const selectionChannelList = contentSelection
        .map((item) => item.reservedField14)
        .filter((item) => item); // 过滤空值
      // 都为空,可继续操作
      if (selectionChannelList.length === 0) return true;
      // 使用 Set 获取唯一值集合
      const uniqueValues = new Set(selectionChannelList);
      // 特殊元素
      const channelTeamList = ["NLF", "XSN"]; // 可能新增元素
      // 检查是否都属于特殊元素
      const allInChannel = [...uniqueValues].every((value) =>
        channelTeamList.includes(value)
      );
      // 检查是否都不属于特殊元素
      const allNotInChannel = [...uniqueValues].every(
        (value) => !channelTeamList.includes(value)
      );
      // 满足条件:全属于且唯一值长度为1(即全部相同),或全不属于
      return (allInChannel && uniqueValues.size === 1) || allNotInChannel;
    }

你可能感兴趣的:(前端,javascript)