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

如何在JavaScript中存储两组ID为类对象结构及提取指定JSON字段

JavaScript 问题解答

1. 将两组ID保存为类对象结构的集合

如果要把两组ID(比如业务ID和关联ID)组织成类对象结构的集合,有两种实用方式:

方式一:自定义类封装

先定义一个类来承载两组ID,再创建实例存入数组作为集合,适合需要扩展方法的场景:

class IdPair {
  constructor(mainId, relatedId) {
    this.mainId = mainId;
    this.relatedId = relatedId;
  }

  // 可按需添加额外方法,比如验证ID格式
  validateIds() {
    return !!this.mainId && !!this.relatedId;
  }
}

// 构建集合
const idCollection = [
  new IdPair('a0722115-6f02-4995-9814-9cf48ff424e1', '9e6c83c6-3f6f-4023-855e-1c933f7af0bf'),
  new IdPair('e5795e12-2cb1-4051-a018-704cf19e0d0d', '06b37132-0aa0-49fa-b442-8afda800006d')
];

// 调用示例
console.log(idCollection[0].validateIds()); // 输出 true

方式二:对象字面量集合

如果不需要类的额外功能,直接用对象字面量构建集合更轻量化:

const idCollection = [
  { attachmentId: 'a0722115-6f02-4995-9814-9cf48ff424e1', txnId: '9e6c83c6-3f6f-4023-855e-1c933f7af0bf' },
  { attachmentId: 'e5795e12-2cb1-4051-a018-704cf19e0d0d', txnId: '06b37132-0aa0-49fa-b442-8afda800006d' }
];

// 访问示例
console.log(idCollection[1].txnId); // 输出 06b37132-0aa0-49fa-b442-8afda800006d

2. 从JSON响应中提取指定字段(循环实现)

针对你提供的JSON数组,用循环提取attachmentId和txnId,下面几种循环方式都能实现:

方式一:普通for循环

// 原始响应数据
const responseData = [
  {
    date: '2022-07-18T17:08:00Z',
    attachmentId: 'a0722115-6f02-4995-9814-9cf48ff424e1',
    txnId: '9e6c83c6-3f6f-4023-855e-1c933f7af0bf',
    status: 'completed'
  },
  {
    date: '2022-07-18T16:53:10Z',
    attachmentId: 'e5795e12-2cb1-4051-a018-704cf19e0d0d',
    txnId: '06b37132-0aa0-49fa-b442-8afda800006d',
    status: 'completed'
  },
  {
    date: '2022-07-13T21:55:40Z',
    attachmentId: '0490414b-0c78-4335-8c7c-fa6f6f3a227e',
    txnId: '42a6e317-4e16-4cb4-a267-74c0c1c7d3b5',
    status: 'completed'
  }
];

const extractedData = [];

// 普通for循环遍历
for (let i = 0; i < responseData.length; i++) {
  const item = responseData[i];
  extractedData.push({
    attachmentId: item.attachmentId,
    txnId: item.txnId
  });
}

console.log(extractedData);

方式二:for...of循环(更简洁)

const extractedData = [];

// 直接遍历数组元素
for (const item of responseData) {
  extractedData.push({
    attachmentId: item.attachmentId,
    txnId: item.txnId
  });
}

console.log(extractedData);

方式三:forEach循环

const extractedData = [];

// 用forEach遍历每个元素
responseData.forEach(item => {
  extractedData.push({
    attachmentId: item.attachmentId,
    txnId: item.txnId
  });
});

console.log(extractedData);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 09:03:49