我的对象最初类似于以下
var data={title: "Italy"}
我想检查几个条件,然后添加到满足这些条件的数据:
if(condition1)
//output will be data={title: "Italy",id1: somecaluatedvalue}
if(condition2)
/*output will be data={title: "Italy",id1: somecaluatedvalue,id2: somevalue}
if condition1 was also true or data={title: "Italy",id1=2: somecaluatedvalue} if
condition1 was false */
它将在循环中以这种方式继续。 我怎么能在javascript中做到这一点?
答案 0 :(得分:2)
我有一个JSON
不,你没有,你有一个对象字面。
要在Javascript对象上设置属性,您可以执行以下操作:
data.id1 = somevalue;
或者这个:
data["id1"] = somevalue;
当您需要动态生成属性名称时,第二个特别有用,这似乎是您要提到的内容。所以你可以这样做:
for (var i=0; i < arrayOfConditions.length; i++) {
if (arrayOfConditions[i]) {
data["id" + i] = somevalue;
}
}
如果你做最后需要JSON,你可以这样做:
var myJson = JSON.stringify(data);