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

如何将JavaScript对象数组转换为值数组的数组?

JavaScript 对象数组转值数组的数组实现方法

需求说明

现有如下结构的对象数组:

const data = [{id: 1, name: 'james', country: 'US'}, {id: 2, name: 'john', country: 'NG'}];

需要将其转换为值数组的数组,目标格式为:

const newdata = [[1,'james', 'US'], [2,'john', 'NG']];

问题分析

你之前的代码只提取了对象的name字段,所以结果不符合预期,核心是需要提取每个对象的所有属性值并组成数组,再添加到新数组中。

解决方法

方法1:修正for循环(手动指定字段)

如果确定对象的字段固定,可以手动将每个字段的值组成数组后push:

const newdata = [];

for (let index = 0; index < data.length; index++) {
  const currentItem = data[index];
  newdata.push([currentItem.id, currentItem.name, currentItem.country]);
}

方法2:for循环+Object.values()(自动提取所有字段)

如果对象字段可能变化,用Object.values()自动提取当前对象的所有值,更灵活:

const newdata = [];

for (let index = 0; index < data.length; index++) {
  newdata.push(Object.values(data[index]));
}

方法3:数组map方法(简洁写法)

用数组的map方法可以一行完成转换,代码更简洁:

const newdata = data.map(item => Object.values(item));

注意:Object.values()会按照对象属性的定义顺序返回值数组(ES6及以上版本支持),和你目标格式的顺序一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 15:24:56