创建一个javascript对象,然后通过for循环填充数组

时间:2014-11-12 08:38:44

标签: javascript arrays function object for-loop

我在javascript中非常新,所以请耐心等待。:) 我有以下对象

var obj= {
    x: 0,
    y: 0
};

我想创建一个从用户那里获取x,y并将它们存储到数组中的函数。所以我很想要一个数组存储" obj"对象。

  

var arr = []; var i;

     

for(i = 0; i <10; i ++)   {       arr [i] = new obj(x,y); }

我甚至不确定我是否已经开始正确的方式。 那么如何用这样的对象填充我的数组?

arr = [obj1,obj2,obj3,obj4];

谢谢..

3 个答案:

答案 0 :(得分:1)

如果你想使用new运算符,那么它是正确的。

var obj = function(a,b) {
 this.x = a;
 this.y = b;
 this.Sum = function(){
     return this.x + this.y;
 };
};

var arr = [],sumarr=[]; var i;

for(i=0; i<10; i++) 
{ 
 arr[i] = new obj(i,i+1);
 sumarr[i] = arr[i].Sum();
}

为了更好地理解这个概念,我建议[http://zeekat.nl/articles/constructors-considered-mildly-confusing.html]

答案 1 :(得分:1)

您可以执行类似t http://jsfiddle.net/naeemshaikh27/y5jaduuf/1/

的操作
 var arr = []; var obj={};
    $("#addToArray").click(function(){
        obj.x= $("#x").val();
        obj.y=$("#y").val();


        arr.push(obj);


});

答案 2 :(得分:1)

// create a constructor for our Obj
function Obj(x, y) {
    this.x = x;
    this.y = y;
}

/* fills array with those objects */

// create an array
var objs = [];

// fill the array with our Objs
for (var i = 0; i < 10; i++) {
    objs.push(new Obj(i, i));
}

// and show the result
var msg = "";
for (var i = 0; i < objs.length; i++) {
  msg += objs[i].x + ":" + objs[i].y + '\n';
}

/* now */
alert(msg);

http://cssdeck.com/labs/elm2uj00

如果你是javascript的新手,我建议你阅读关于javascript的好书。例如 David Flanagan:JavaScript The Definitive Guide 您现在和将来会有很多问题的答案。这是我建议的最佳方式。 Stackoverlow不会为您当前的舞台提供太多帮助。这是我的意见