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

如何去除键名字符串中的索引后检查其是否存在于指定数组

实现步骤

  • 第一步:使用正则移除键名中所有带数字的索引部分(匹配[数字]格式的片段替换为空)
  • 第二步:将键名最后一段属性的首字母转为大写,匹配目标数组的大小写规范
  • 第三步:使用数组includes方法校验处理后的字符串是否存在于目标数组中

完整代码示例

// 原始输入键名
const originKey = 'StudentMembers[1].active'
// 目标校验数组
const checkArray = ["StudentMembers.Active","StudentMembers.InActive"]

// 处理键名:先移除所有[数字]索引片段,再处理最后一段属性首字母大写
const processedKey = originKey.replace(/\[\d+\]/g, '')
  .replace(/\.([a-z])(.*)$/, (match, firstChar, rest) => `.${firstChar.toUpperCase()}${rest}`)

// 校验是否存在
const isExist = checkArray.includes(processedKey)

console.log(processedKey) // 输出:StudentMembers.Active
console.log(isExist) // 输出:true

正则说明

  • \[\d+\]:匹配左方括号、1个及以上数字、右方括号的组合,全局替换为空即可移除所有索引部分,就算键名包含多段索引(如a[0].b[2].active)也能正常处理
  • 第二个正则匹配最后一个.后面的内容,将首字母转为大写,适配目标数组的大小写规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 06:54:07