我有一个像这样定义的变量:
Var France ={
'Nice': {
inputs: _.extend({
attrs: {
text : inp({
text: { group: 'data', index: 1 },
'font-size': { group: 'text', index: 2 },
'font-family': { group: 'text', index: 3 },
'font-weight': { group: 'text', index: 4 },
}),
image: inp({
'xlink:href': { group: 'presentation', index: 1 }
})
},
}),
groups: cities
}};
var Paris = {
inputs: _.extend({
attrs: {
text : inp({
text: { group: 'data', index: 1 },
'font-size': { group: 'text', index: 2 },
'font-family': { group: 'text', index: 3 },
'font-weight': { group: 'text', index: 4 },
}),
image: inp({
'xlink:href': { group: 'presentation', index: 1 }
})
},
}),
groups: cities
};
我怎样才能动态地推动法国的另一个城市,比如$(法国).push(巴黎),但这很有效,我怎么能做到这一点呢?
答案 0 :(得分:2)
简单如下:
France['Paris'] = { ... }
或
France.Paris = { ... }
您只能对数组(或支持此类的其他类型,但它更高级)使用push
操作。你不能推送到对象,因为它们没有被订购。
订购了一个数组,因此您可以使用:
push
将元素添加到结束 pop
从结尾删除元素并将其返回unshift
将元素添加到开头 shift
从头开始删除元素并将其返回。用法:
var x = [];
x.push(1);
//x is now [1];
x.unshift(2);
//x is now [2,1];
答案 1 :(得分:1)
Object
不是Array
。
要创建新的field
,您必须执行类似
Paris["newkey"] = "aValue"; //Any value like {}, "", [], 0