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

能否基于键集匹配或比较两个数组?数组映射转换匹配咨询

数组映射转换解决方案

可以通过创建状态映射对象,结合数组遍历方法完成转换,让两个数组格式统一后即可实现匹配。

转换规则

  • 将 A 转换为 ACTIVE
  • 将 N 转换为 NEVER-CONNECTED
  • 将 D 转换为 DISCONNECTED
  • 其他值保持不变

代码实现(以JavaScript为例)

方案1:把Array2转换为Array1的格式

// 定义正向映射关系
const statusMap = {
  'A': 'ACTIVE',
  'N': 'NEVER-CONNECTED',
  'D': 'DISCONNECTED'
};

// 转换函数
function convertToFullStatus(arr) {
  return arr.map(item => statusMap[item] || item);
}

// 执行转换
const Array2 = ["N","A","N"];
const convertedArray2 = convertToFullStatus(Array2);
// 转换结果:["NEVER-CONNECTED","ACTIVE","NEVER-CONNECTED"],与Array1完全匹配

方案2:把Array1转换为Array2的格式

如果需要反向转换,只需定义反向映射关系:

// 定义反向映射关系
const reverseStatusMap = {
  'ACTIVE': 'A',
  'NEVER-CONNECTED': 'N',
  'DISCONNECTED': 'D'
};

// 反向转换函数
function convertToShortStatus(arr) {
  return arr.map(item => reverseStatusMap[item] || item);
}

// 执行转换
const Array1 = ["NEVER-CONNECTED","ACTIVE","NEVER-CONNECTED"];
const convertedArray1 = convertToShortStatus(Array1);
// 转换结果:["N","A","N"],与Array2完全匹配

核心逻辑说明

使用数组的map方法遍历每个元素,通过映射对象查找对应值;如果元素不在映射规则中,则直接保留原元素,满足“其他值保持不变”的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 19:42:34