JavaScript 数组转换:将嵌套对象数据结构转换为平铺结构

假设你拥有一个包含嵌套对象的数组 arr1,希望将它转换为一个包含平铺数据的数组 arr2,并且要保证key的名称一致。

示例数据:

let arr1 = [
    {
        '一检': {
            '检验数量': 34,
            '合格数量': 12,
            '不良数量': 22
        }
    },
    {
        '二检': {
            '检验数量': 31,
            '合格数量': 10,
            '不良数量': 21
        }
    },
    {
        '三检': {
            '检验数量': 13,
            '合格数量': 13,
            '不良数量': 0
        }
    }
]
let arr2 = [
  {
    '机型': '一检',
    '一检数量': 34,
    '良品数': 12,
    '不良数': 22
  },
  {
    '机型': '二检',
    '二检数量': 31,
    '良品数': 10,
    '不良数': 21
  },
  {
    '机型': '三检',
    '三检数量': 13,
    '良品数': 13,
    '不良数': 0
  }
]

解决方案:

可以使用 map 方法来实现将 arr1 转换为 arr2,并保持 key 一致的需求。

let arr2 = arr1.map(item => {
  let key = Object.keys(item)[0];
  let value = item[key];
  return {
    '机型': key,
    '一检数量': value['检验数量'],
    '良品数': value['合格数量'],
    '不良数': value['不良数量']
  };
});

代码解释:

  1. 使用 map 方法遍历 arr1 中的每一个元素。
  2. 使用 Object.keys(item)[0] 获取每个元素的第一个 key(即 '一检'、'二检'、'三检')。
  3. 使用 item[key] 获取对应 key 的值,即嵌套对象。
  4. 创建一个新的对象,包含以下 key-value 对:
    • '机型': key(即获取到的 '一检'、'二检'、'三检')
    • '一检数量': value['检验数量'](从嵌套对象中获取 '检验数量' 的值)
    • '良品数': value['合格数量'](从嵌套对象中获取 '合格数量' 的值)
    • '不良数': value['不良数量'](从嵌套对象中获取 '不良数量' 的值)
  5. 将创建的新对象返回,最终得到转换后的 arr2 数组。

总结:

通过使用 map 方法和简单的 key-value 操作,我们可以轻松地将包含嵌套对象的数组 arr1 转换为包含平铺数据的数组 arr2,并保证 key 的名称一致。这在处理数据结构转换和数据展示时非常有用。

JavaScript 数组转换:将嵌套对象数据结构转换为平铺结构

原文地址: http://www.cveoy.top/t/topic/hICK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录