如何在Node JS中获取密钥对象的密钥

时间:2020-01-17 21:34:15

标签: javascript node.js

我正在尝试创建一些脚本,该脚本将使用一个对象,然后返回该对象中适用于两个级别键的所有键的列表。但是一旦键具有另一个对象或键是一个持有对象的数组,脚本将不再返回键。有没有一种简单的方法可以执行此操作,或者我将不得不手动遍历所有键并检查是否存在另一个对象?下面是一个示例对象。就我而言,我不在乎值,但我需要所有键:

object1 = {
            DocId: "email_campaign::3ed76589-4063-49f6-a21e-9ca16981d102",
            _id: "3ed76589-4063-49f6-a21e-9ca16981d102",
            _type :"email_campaign",
            end_date: "",
            history: {
                created_by: "",
                created_on: "",
                update_on: "",
                updated_by: ""
            },
            librarys :[{id: 1, name : 'Lib 1'},{ id: 2, name: 'Lib 2'}],
            metrics : {
                first_email_sent: "",
                last_email_send: "",
                nbr_of_attachments_opened: 0,
                nbr_of_bounces: 0,
                nbr_of_email_opened: 0,
                nbr_of_emails: 0,
                nbr_of_unique_attachments_opened:0,
                nbr_of_unique_email_opened: 0
            },
            start_date: "",
            status: "Active",
            subject: "Test 1 Subject",
            summary: "",
            tags: ['one', 'two'],
            template_id: ""
        };

2 个答案:

答案 0 :(得分:0)

以下代码可能会对您有所帮助。这为您提供了一组键值。您可以根据用例进行调整。

cmake_minimum_required(VERSION 2.8.3)
project(quanergy_client_ros)

    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

    ## Find catkin macros and libraries
    find_package(catkin REQUIRED COMPONENTS
      roscpp
      sensor_msgs
      pcl_ros
    )

答案 1 :(得分:0)

Object.keys()吗?

const object1 = {
  DocId: "email_campaign::3ed76589-4063-49f6-a21e-9ca16981d102",
  _id: "3ed76589-4063-49f6-a21e-9ca16981d102",
  _type :"email_campaign",
  end_date: "",
  history: {
      created_by: "",
      created_on: "",
      update_on: "",
      updated_by: ""
  },
  librarys : [{id: 1, name : 'Lib 1', id: 2, name: 'Lib 2'}],
  metrics : {
      first_email_sent: "",
      last_email_send: "",
      nbr_of_attachments_opened: 0,
      nbr_of_bounces: 0,
      nbr_of_email_opened: 0,
      nbr_of_emails: 0,
      nbr_of_unique_attachments_opened:0,
      nbr_of_unique_email_opened: 0
  },
  start_date: "",
  status: "Active",
  subject: "Test 1 Subject",
  summary: "",
  tags: ['one', 'two'],
  template_id: ""
};

console.log(Object.keys(object1));