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

如何对比主表头数组与表头对象,找出不区分大小写的缺失表头?

解决不区分大小写的必填表头校验问题

你的代码问题出在:仅将masterHeads中的表头转为小写,直接去匹配原headers对象的键——但headers的键本身是带大小写的字符串,不会自动转换为小写,因此无法实现不区分大小写的匹配。

正确实现步骤

  1. 先提取headers的所有键,统一转为小写后存入Set(Set的查找效率比对象属性查找更高)
  2. 遍历masterHeads,将每个表头转为小写后检查是否存在于Set中,不存在的即为缺失表头

代码示例

const masterHeads = ['head1', 'head2', 'Head3'];
const headers = {
  Heasd1: 'xxx',
  Head2: 'yyy',
  Head3: 'zzz',
  other: 'blah'
};

// 生成小写表头集合
const lowerCaseHeaderSet = new Set(Object.keys(headers).map(key => key.toLowerCase()));
// 过滤缺失的表头
const missingHeads = masterHeads.filter(head => !lowerCaseHeaderSet.has(head.toLowerCase()));

console.log(missingHeads); // 输出: ['head1']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 06:42:02