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

如何将对象数组转换为仅包含对象值的二维数组

解决方案

嘿,这个需求其实很容易实现,用JavaScript的话有两种常用方式,看你更在意简洁性还是顺序的严格性:

方式一:简洁自动提取属性值

如果你的对象属性顺序和最终数组的元素顺序完全一致,直接用map搭配Object.values()就能一步到位:

// 你的原始对象数组
const originalData = [
  {'brand_id': 607, 'store_id': 4, 'refIdInMyStore': '3108'},
  {'brand_id': 608, 'store_id': 4, 'refIdInMyStore': '3109'}
];

// 转换为二维数组
const convertedArray = originalData.map(item => Object.values(item));

console.log(convertedArray);
// 输出:[[607, 4, "3108"], [608, 4, "3109"]]

解释:

  • map()会遍历原始数组的每一个对象,对每个对象执行回调函数;
  • Object.values(item)会返回当前对象所有属性值组成的数组,在现代浏览器/Node.js环境下,字符串键的属性会按定义顺序返回,刚好匹配你的需求。

方式二:手动指定顺序(更稳妥)

如果担心某些特殊环境下对象属性的枚举顺序不确定,或者你需要自定义元素顺序,那就手动指定每个属性的提取顺序,这样绝对不会出错:

const originalData = [
  {'brand_id': 607, 'store_id': 4, 'refIdInMyStore': '3108'},
  {'brand_id': 608, 'store_id': 4, 'refIdInMyStore': '3109'}
];

const convertedArray = originalData.map(item => [
  item.brand_id,
  item.store_id,
  item.refIdInMyStore
]);

console.log(convertedArray);
// 输出:[[607, 4, "3108"], [608, 4, "3109"]]

这种写法虽然稍长,但能严格控制最终数组里的元素顺序,适合对顺序有强要求的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 14:32:34