You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript中如何正确判断名称含指定后缀,避免重复添加

修复重复添加"(Organic)"标签的问题

你的代码核心问题在于错误使用了in运算符——它用来检查对象是否包含某个属性,而非判断字符串是否包含子串。要解决重复添加标签的问题,需要直接检查当前项的name字段是否已经包含"(Organic)"。

修正后的代码

isOrganic() {
    for (let i = 0; i < this.items.length; i++) {
        const item = this.items[i];
        if (item.organic) {
            // 检查名称是否已包含目标标签
            if (!item.name.includes(' (Organic)')) {
                item.name += ' (Organic)';
            }
        }
    }
}

关键改进点

  • 替换错误的' (Organic)' in this.items判断,改为item.name.includes(' (Organic)'),直接校验名称字符串中的子串存在性
  • 使用+=替代concat,语法更简洁直观
  • 提取this.items[i]到变量item,提升代码可读性和维护性

可选优化:精确匹配结尾标签

如果希望仅当标签出现在名称末尾时才判定为已存在(避免名称中间包含该子串的误判),可以改用endsWith方法:

if (!item.name.endsWith(' (Organic)')) {
    item.name += ' (Organic)';
}

内容的提问来源于stack exchange,提问作者MyDisplayName

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 22:39:57