【问题标题】:How to get javascript object property names? [duplicate]如何获取 javascript 对象属性名称? [复制]
【发布时间】:2018-06-08 00:51:45
【问题描述】:

我想创建一个表,其标题标签是基于数据对象属性名称动态已知的

这是我的代码示例:

ob = { ** name **: "Joe",
  ** age **: "22",
  ** country **: "UK"
}

table = document.createElement("table");

function createHeaders(obj) {
  let tr = document.createElement("tr");
  //get keys and iterate ...
  for (let key of keys) {// how to get keys ? 
    const th = document.createElement('th');
    th.innerHtml = key;
    tr.appendChild(th)
  }
  return tr;
}

【问题讨论】:

  • 标题好痛
  • 是的,这是可能的,但这是你能做的最糟糕的事情。你为什么需要那个?
  • 当您已经在一个对象中整齐地拥有数据时,为什么还需要单独的变量?
  • 不,它没有真正的语法,因为它没有真正的用例
  • 这似乎是XY problem。如果要从对象生成表,则不需要每个具有不同名称的临时变量。也许展示你的代码并询问如何解决实际问题。

标签: javascript variables html-table ecmascript-6


【解决方案1】:

你可以试试Object.keys

function createHeader(object) {
  return Object.keys(object)
  .reduce(
    (tr,key)=>{
      tr.appendChild(
        document.createElement("th")
      ).innerHTML = key;
      return tr;
    },
    document.createElement("tr")
  );
};
const table = document.createElement("table");
table.appendChild(
  createHeader({ 
    name: "Joe",
    age: "22",
    country: "UK"
  })
);
document.getElementById("content").appendChild(table);
<div id="content"></div>

【讨论】:

  • 谢谢,我举错了例子,但我正在寻找这个。
猜你喜欢
  • 2012-04-18
  • 1970-01-01
  • 1970-01-01
  • 2011-09-08
  • 2022-08-23
  • 2017-05-21
  • 1970-01-01
  • 2014-09-23
  • 2019-11-27
相关资源
最近更新 更多