将项添加到Javascript对象

时间:2016-11-11 16:29:24

标签: javascript jquery

我的应用程序正在访问返回一些JSON记录的WebAPI。我通过jQuery AJAX获取它们并将JSON分配给JavaScript变量。我可以循环浏览并更改现有项目而不会出现问题。但是,如何添加更多"记录"对这个对象?我试图了解结果变量的结构。

这是我的测试。这是最好的方式吗?

var trustAccounts = {"accounts":[
  {"entityId":12345,
  "type":"IOLTA",
  "nameOnAccount":"Sam Smith Trust",
  "accountNumber":"987654",
  "bankCode":"003",
  "bankName":"Bank of Stuff",
  "accountDate":"12/15/2014",
  "status":"A",
  "exempt":"N",
  "accountId":142922,
  "action":"U"}]};

  var newaccount = {};
    newaccount.entityId = 23456;
    newaccount.type = "IOLTA";
    newaccount.nameOnAccount = "John Smith Trust";
    newaccount.accountNumber = "789456";
    newaccount.bankCode = "003";
    newaccount.bankName = "Bank of Stuff";
    newaccount.accountDate = "12/15/2014";
    newaccount.status = "A";
    newaccount.exempt = "N";
    newaccount.accountId = 142923;
    newaccount.action = "U";

  trustAccounts.accounts.push(newaccount);

  console.log(trustAccounts);

2 个答案:

答案 0 :(得分:1)

因此,如果我们命名返回的变量object,我们可以使用object.newItemName创建新元素。如下:

object.newItemName = 'Hello World'

答案 1 :(得分:0)

您只需添加它们,就好像它们已经存在一样。 JSON解析的对象只是一个普通的JavaScript对象。

let obj = {};
obj.newProp = 5;
console.log(obj.newProp); // 5

obj['newProp'] = 4;
console.log(obj.newProp); // 4

您可以使用点符号或方括号([])以两种方式设置它们。点符号方式,点之后的值就是它所谓的。方括号可以接受字符串或变量,因此您可以使用它将属性设置为特定名称。

如果你需要嵌套东西,你必须创建每个级别。例如,如果您想设置obj.something.aValue,则可以执行以下操作:

let obj = {};
obj.something = {};
obj.something.aValue = 5;

或者,你也可以用更少的镜头来做,这取决于你正在做什么:

let obj = {
    something: {
        aValue = 5;
    }
};