如何根据name与name0的匹配结果返回对应输入数据子集
实现方案
核心逻辑
- 提取输入数据中的
name和name0字段值进行比较 - 若两者相等,返回所有带
0后缀的键值对;若不等,返回所有不带0后缀的键值对
Python 实现
def filter_data(input_data): main_name = input_data.get('name') suffix_name = input_data.get('name0') if main_name == suffix_name: return {k: v for k, v in input_data.items() if k.endswith('0')} else: return {k: v for k, v in input_data.items() if not k.endswith('0')} # 测试用例 input_data = { "Dv type": None, "Environment": None, "ipa": None, "category": None, "name": "ALPHA009", "Dv type0": "NYC", "Environment0": "sev", "ipa0": "X.Y.1", "category0": "test", "name0": "APLHA009" } print(filter_data(input_data))
JavaScript 实现
function filterData(inputData) { const mainName = inputData.name; const suffixName = inputData.name0; if (mainName === suffixName) { return Object.fromEntries( Object.entries(inputData).filter(([key]) => key.endsWith('0')) ); } else { return Object.fromEntries( Object.entries(inputData).filter(([key]) => !key.endsWith('0')) ); } } // 测试用例 const inputData = { "Dv type": null, "Environment": null, "ipa": null, "category": null, "name": "ALPHA009", "Dv type0": "NYC", "Environment0": "sev", "ipa0": "X.Y.1", "category0": "test", "name0": "APLHA009" }; console.log(filterData(inputData));
内容的提问来源于stack exchange,提问作者samrathal
相关产品推荐
相关产品推荐

