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

web3交易收据调用map/objectMap报错,如何提取指定字段?

问题原因及解决方法

为什么报错?

map()是JavaScript数组专属方法,但你的receipt是单个交易收据对象,不是数组,所以调用receipt.map会提示“不是函数”;而objectMap并非JS原生对象的内置方法,自然也无法使用。

正确提取指定字段的方法

以下几种方式都能实现需求,按需选择即可:

方式1:解构赋值(最简洁)

直接从对象中解构出需要的字段,再组装成新对象:

const { from, status } = receipt;
const response = { from, status };

方式2:手动创建新对象(直观)

如果字段不多,直接通过对象属性访问组装:

const response = {
  from: receipt.from,
  status: receipt.status
};

方式3:封装工具函数(适合多字段/复用场景)

如果需要频繁提取不同字段,可以写一个通用工具函数:

// 工具函数:从对象中提取指定键的字段
function pickObjectFields(obj, targetKeys) {
  return targetKeys.reduce((result, key) => {
    if (obj[key] !== undefined) {
      result[key] = obj[key];
    }
    return result;
  }, {});
}

// 使用示例:提取from和status
const response = pickObjectFields(receipt, ['from', 'status']);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 10:12:36