【问题标题】:Iterate through javascript object and add object properties dynamically (key-value pair in JS object)遍历javascript对象并动态添加对象属性(JS对象中的键值对)
【发布时间】:2015-08-28 16:43:55
【问题描述】:

我不确定这个问题之前是否已经回答过。虽然我没有发现与我想要的任何相关性。这是原始代码。

function addrow() {
                  var row = {
                             name: null,
                             city: null,
                             Contact: null,
                             location: null             
                  };

                  $("#jqxgrid").jqxGrid('addrow', null, row, 'first');
}

一旦此函数通过单击函数执行,此代码将向网格表添加一个新行。它创建一个空行。列名称是名称、城市、联系人和位置。所有这些列条目行都获得空值,并且空行被添加到网格中。

我想让这个动态。即无论列名和列数如何,它都应该为我创建空行。例如。如果只有 2 个名为 Name 和 Age 的列名,它应该创建一行 2 个空单元格。

我尝试了类似的方法来使其动态化。

var headers= $line_array. 

我从后端传递到前端的数组中获取动态列标题名称。因此,列标题存在于名为 headers 的数组中。然后我添加了这个

for(key in row) { headers[key]=null,};
$("#jqxgrid").jqxGrid('addrow', null, row, 'first'); 

所以最终的 addrow() 函数看起来像这样

function addrow() {

var headers= $line_array;

var i;
var key = headers.length;
var row = {}; // create empty object. we can add header names inside this row for display.

for(key in row) { 
    headers[key]=null,};
    $("#jqxgrid").jqxGrid('addrow', null, row, 'first');
}

有人可以建议我在这里犯了什么小错误吗?

【问题讨论】:

  • for(key in row) { headers[key]=null,};你的语法有错误。删除 null 后的逗号。
  • 哦,不。我错过了。感谢您指出@RichardGrant。现在工作。 :)
  • 你也误解了 for 循环。生病发布作为答案,它很长。
  • @RichardGrant- 更正让我能够执行我想要的。我想清除我的基础知识.. 将等待您的回答。 :)
  • 应该是for(key in headers) row[key]=null;

标签: javascript object for-loop


【解决方案1】:

我很高兴自己找到了答案。尽管来自@MaxZoon 和@RicharGrant 的输入帮助我理解了可能是什么问题。

如果这段代码对任何人有帮助,我会很高兴。这里是。

function addrow() {
    var headers= $line_array;
    var i;
    var key = headers.length;
    var row = {};

    for (i=0; i <headers.length; i++) {
                                       row[headers[i]]=null;
    }

    $("#jqxgrid").jqxGrid('addrow', null, row, 'first');
}

就是这样。就这么简单。我只需要看看如何将键/值对分配给 Javascript 对象。谢谢大家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 2016-12-19
    • 2017-08-30
    • 1970-01-01
    • 2021-11-20
    • 2012-01-08
    相关资源
    最近更新 更多