这是我想要动态重建的对象
var myPath = {
one: [
new google.maps.LatLng(1,2),
new google.maps.LatLng(3,4))
]};
这是我的尝试没有成功:
var myPath2 = {};
var newFieldName = 'one';
myobj[newFieldName].push(new google.maps.LatLng(1,2));
myobj[newFieldName].push(new google.maps.LatLng(3,4));
我收到以下错误:
未捕获的TypeError:无法读取未定义的属性“push”
另一次尝试:
var myPath2 = {};
var newFieldName = 'one';
myobj[newFieldName].add(new google.maps.LatLng(1,2));
myobj[newFieldName].add(new google.maps.LatLng(3,4));
我收到以下错误:
未捕获的TypeError:无法读取未定义的属性“add”
如何添加/推送新元素?
答案 0 :(得分:4)
这就是你要找的东西吗?
myobj[newFieldName] = []; // initialize the array
myobj[newFieldName].push(new google.maps.LatLng(1,2)); // push (not "add" as you used)
答案 1 :(得分:2)
首先需要将字段值设置为数组,然后可以将push个元素放入其中。
var myPath2 = {};
var newFieldName = 'one';
// Set field value to an array
myPath2[newFieldName] = [];
// Then you can push elements into it
myPath2[newFieldName].push(new google.maps.LatLng(1,2));
myPath2[newFieldName].push(new google.maps.LatLng(3,4));