动态向Javascript对象添加内容

32

我有一个看起来像这样的Javascript对象。

ips[ipID] = {}

所以我最终得到了一堆需要存储信息的IP地址,它们看起来像这样:

ipID { name : 'val', anotherName : 'anotherVal' }

我的问题是,如何动态地添加这些名称和值?


2
我觉得你可能把JSON和Javascript搞混了。 - mikerobi
JSON是JavaScript。我只是想知道如何动态地向我的对象添加值。 - Mike
6
JSON不是Javascript,而是一种数据格式。上面的示例会在任何符合标准的JSON解析器中触发错误。 - mikerobi
2
@mikerobi JSON代表Javascript对象表示法,因此我会说它是Javascript。 - Waleed Khan
7
JSON的根源来自于JS,但它已经不是JS了。请看http://www.json.org/,JSON如今在其他语言中也被使用,并且只是关于如何构造数据的规范。将JSON称为JavaScript仅因为它的名字中有JavaScript,就好像说JavaScript是Java,因为它的名字中有Java一样。 - patrickgamer
4个回答

48

如果你的名称是动态的,我相信这是最容易做的事情:

var myobj = {};
var newFieldName = 'my new field name';
var newFieldValue = 'my new field value';
myobj[newFieldName] = newFieldValue;

27
var ipID = {};
ipID.name = 'val';
ipID.anotherName = 'anotherVal';

1
好的,那行。我想我应该提到我的名称和值都是动态的。所以我正在使用 tmp[name] = value; 然后我需要添加 tmp。 - Mike

5
如果您想要使用优秀的underscore库(js开发者的瑞士军刀),您可以使用 extend 方法http://documentcloud.github.com/underscore/#extend
例如:
var tmp = { name: "asdf", val: "value" };
_(ips[ipID]).extend(tmp);

希望这很清楚,如果您有更精确的问题,那么帮助会更容易。

0

JSON对象的解决方案:

默认情况下:

array=[];
object={};

JSON 代码:

var People= {};

Json.People[key]="value";

JSON 结果:

{People: 
      {
        key: "value"
      }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接