首页 > 解决方案 > 如何从对象数组中检索项目 id 并使用 javascript 将其放入数组中?

问题描述

下面是一个对象数组

const arr_obj = [
    {
        'id': 1,
        'items': [
            {
                'id':'1',
                'data': {
                    'id': 3,
                }
             },
             {
                 'id': '2',
                 'data': {
                     'id': 4,
                  }
              }
          ]
      },

      {
          'id': 2,
          'items': [
              {
                  'id':'3',
                  'data': {
                      'id': 5,
                  }
              },
          ]
      },
  ]

我想检索 items 数组的 id 属性并将其放入一个数组,因此预期的输出是 ['1','2','3']

有人可以帮我解决这个问题。谢谢。

标签: javascript

解决方案


arr_obj.map(obj=>obj.items.map(item=>item.id)).flat()
  • .map循环遍历数组中的每一项并对它们运行转换函数,生成一个新数组。

  • .flat将多维数组展平为一维数组

我建议研究一些其他数组方法,因为它们非常有用。


您甚至可以通过以下方式稍微改进flatMap

arr_obj.flatMap(obj=>obj.items.map(item=>item.id))

推荐阅读