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

如何从响应体中提取鞋码(size)与对应库存数量(quantity)?

解决API响应中鞋码与库存的结构转换问题

1. 修正变量名错误

你原代码中msizes未定义,需替换为已声明的sizesArray(即response.data.sizes),否则会抛出变量未定义的错误。

2. 结构转换实现方式

由于sizes数组中的每个元素都是仅含单个键值对的对象,我们可以通过Object.entries或Object.keys+Object.values提取鞋码(键)和库存(值),再重组为目标结构:

方法一:使用Object.entries(推荐)

const sizesArray = response.data.sizes;

const formattedSizes = sizesArray.map(item => {
  // 提取单个键值对并解构
  const [size, quantity] = Object.entries(item)[0];
  // 若鞋码需要数字类型,通过Number()转换;无需则直接保留字符串
  return {
    size: Number(size),
    quantity
  };
});

console.log(formattedSizes);
// 输出:[{size: 43, quantity: 35}, {size: 42, quantity: 20}, {size: 38, quantity: 10}]

方法二:使用Object.keys + Object.values

const sizesArray = response.data.sizes;

const formattedSizes = sizesArray.map(item => {
  const size = Object.keys(item)[0];
  const quantity = Object.values(item)[0];
  return {
    size: Number(size),
    quantity
  };
});

补充说明

  • 两种方法均适配当前API返回结构,Object.entries更简洁,可一次性获取键与值;
  • 若业务允许鞋码为字符串类型,去掉Number()转换即可;
  • 若后续API返回的对象存在多个键值对,可根据需求调整遍历逻辑(比如循环处理所有键值对)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 19:10:26