如何访问对象的键值?希望从对象数据填充表

How do I access an object's keys' values? Looking to populate a table from object data

本文关键字:对象 希望 数据 填充 键值 何访问 访问      更新时间:2023-09-26

上下文:javascript的新手,并尝试创建一个学生贷款计算器网络应用程序进行练习。目前正在处理"第 1 部分",您可以在其中提交贷款、余额和利率;当您添加贷款时,将填充一个包含您提交的贷款的表格。

  1. 在表单提交时,输入数据用于使用对象构造函数创建新对象 (loanObj)。该新对象被推送到数组(loanArray)中进行存储。
  2. 在表单提交时,我希望一个表格自动填充 loanObj 的数据。我尝试通过遍历 loanArray 来计算每个对象的数量,然后遍历每个对象的键,在此过程中创建表行和单元格。

到目前为止,除了访问键的值之外,我能够做所有这些事情。 即它输出"未定义"而不是 5000 和 5% 等。

以下是与我的问题相关的代码片段:

        for (var i = 0; i < loanArray.length; i++) {
          //create table row for each loan object in array
          var tr = document.createElement('tr');
          //create table cell for each loan property (keys)
          var loanKeys = Object.keys(loanArray[i]);
          for (var j = 0; j < loanKeys.length; j++) {
            var td = document.createElement('td');
            //create text node for key data
            td.appendChild(document.createTextNode(loanKeys[j].value));
            tr.appendChild(td); 
          }
        tableBody.appendChild(tr);
        }

完整的小提琴是: http://jsfiddle.net/v5goLto9/1/

请帮助菜鸟!并随时给我关于我的代码结构/逻辑/整体的反馈!

您可以

直接迭代对象值,而无需键,如以下代码所示:

for (var i = 0; i < loanArray.length; i++) {
          //create table row for each loan object in array
          var tr = document.createElement('tr');
          //create table cell for each loan property (keys)
         
          for (var j in loanArray[i]) {
            var td = document.createElement('td');
            //create text node for key data
            td.appendChild(document.createTextNode(loanArray[i][j]));
            tr.appendChild(td); 
          }
        tableBody.appendChild(tr);
        }