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

如何在Javascript中将指定JSON对象动态转换为数值数组?

解决方案

方法1:用Object.values() + Array.flat()实现(最简洁)

先提取对象所有属性的数组值,再把嵌套数组扁平化,一步到位:

let data = {
  "OP_LC_check": [0],
  "OP_LG_check": [0],
  "LY_LC_check": [5374],
  "LY_GC_check": [6086],
  "ACT_LC_check": [5299],
  "ACT_GC_check": [3241],
  "ACT_GC_AT_OP_check": [2980],
  "ACT_GC_AT_LY_check": [3093]
};

const result = Object.values(data).flat();
console.log(result); // 输出: [0, 0, 5374, 6086, 5299, 3241, 2980, 3093]

Object.values(data)会返回所有属性值组成的嵌套数组:[[0], [0], [5374], ...],flat()方法直接把它展开成一维数组。

方法2:手动遍历兼容旧环境

如果需要兼容不支持flat()的老版本浏览器,可以手动循环提取:

let data = { /* 你的数据 */ };
const result = [];

for (const key in data) {
  // 过滤掉原型链上的属性,只处理对象自身属性
  if (data.hasOwnProperty(key)) {
    // 每个属性值都是单元素数组,直接取第一个元素加入结果
    result.push(data[key][0]);
  }
}

console.log(result); // 得到目标数组

方法3:用Array.reduce()收集元素

通过reduce遍历属性值数组,逐个把元素加入结果:

let data = { /* 你的数据 */ };
const result = Object.values(data).reduce((acc, curr) => {
  acc.push(curr[0]);
  return acc;
}, []);

console.log(result);

这几种方法都能动态处理对象的所有属性,不管后续新增多少属性,都能自动提取对应数值。

内容的提问来源于stack exchange,提问作者Carlos Chinchilla Fiter

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 09:20:22