Javascript 将动态创建的数据推送到数组中

Javascript 将动态创建的数据推送到数组中,javascript,Javascript,我有一个构造函数属性,它需要一个数组类型(例如)Dog。与其创建一个数组,不如用Dogs填充它,然后将其传递给属性,我希望在for循环中动态创建该数组 所以不是 (...) new ConstructorFoo({ property: [ new Dog("1"), new Dog("2") ] }); 我想用这样的方式: (...) new ConstructorFoo({ property: function() {

我有一个构造函数属性,它需要一个数组类型(例如)
Dog
。与其创建一个数组,不如用Dogs填充它,然后将其传递给属性,我希望在for循环中动态创建该数组

所以不是

(...) new ConstructorFoo({
    property: [
        new Dog("1"),
        new Dog("2")
    ]
});  
我想用这样的方式:

(...) new ConstructorFoo({
    property: function() {
        var d = [];
        for(var i = 0; i < 10; i++) {
            d.push(new Dog(i));
        }
        return d;
    }
});
(…)新构造函数foo({
属性:函数(){
var d=[];
对于(变量i=0;i<10;i++){
d、 推(新狗(i));
}
返回d;
}
});
但据我所知,这会抛出一个异常,因为类型不匹配<代码>属性需要一个狗数组,但得到一个函数(正确吗?)

我希望我的问题有意义

只需就地调用即可:

(...) new ConstructorFoo({
    property: (function() {
        var d = [];
        for(var i = 0; i < 10; i++) {
            d.push(new Dog(i));
        }
        return d;
    })()
});
(…)新构造函数foo({
属性:(函数(){
var d=[];
对于(变量i=0;i<10;i++){
d、 推(新狗(i));
}
返回d;
})()
});
只需就地调用即可:

(...) new ConstructorFoo({
    property: (function() {
        var d = [];
        for(var i = 0; i < 10; i++) {
            d.push(new Dog(i));
        }
        return d;
    })()
});
(…)新构造函数foo({
属性:(函数(){
var d=[];
对于(变量i=0;i<10;i++){
d、 推(新狗(i));
}
返回d;
})()
});

“正确?”-
属性
不需要任何东西,它是对象中的一个属性,传递给
构造函数foo
ConstructorFoo
希望它的参数是某种形式的,除非您显示
ConstructorFoo
,否则我们无法确切地告诉您是什么。如果您只想在将数组传递给
ConstructorFoo
之前创建一个数组,那么georg的答案应该可以很好地为您服务。如果有什么东西被用来定义属性,那么你需要向我们展示你在做什么。“正确吗?”——
属性
不需要任何东西,它是对象中的一个属性,传递给
构造函数foo
ConstructorFoo
希望它的参数是某种形式的,除非您显示
ConstructorFoo
,否则我们无法确切地告诉您是什么。如果您只想在将数组传递给
ConstructorFoo
之前创建一个数组,那么georg的答案应该可以很好地为您服务。如果有东西被用来定义属性,那么你需要向我们展示你在做什么。谢谢。这正是我要找的,但是找不到正确的词来进行适当的搜索。谢谢。这正是我要找的,但找不到正确的词来进行适当的搜索。