如何从函数调用创建对象数组?

时间:2021-04-18 11:08:50

标签: javascript arrays object

让函数 createSquare 接受参数 side, color 返回一个属性与参数相同的对象。分配给属性的值应该是分配给函数的值。除了这些属性之外,该对象还有一个方法返回正方形的面积。现在创建一个数组 Box 这个数组应该包含通过调用 createSquare 函数创建的 3 个对象。并且这些对象应该具有值 [(3,black) ,(4,red) ,(5,green )]。

为此我使用了 ES5 javascript。我使用构造函数创建对象的初始部分,如

function CreateBox(side, color) {
  this.side = side;
  this.color = color;

  //function-1
  areaOfSquare = function () {
    let a = this.side * this.side;
    console.log(a);
  };
}

第二部分我很困惑如何将对象的值推送到数组中。(这是我想到的)

let box = [];
for (let i = 0; i < 3; i++) {
  box[i].push(CreateBox(3, "black"));
}

2 个答案:

答案 0 :(得分:0)

为了返回一个对象,函数或类应该通过在函数/类调用之前添加像 new CreateBox() 这样的新关键字来初始化对象,例如:

let box = [];
for (let i = 0; i < 3; i++) {
  box[i].push(new CreateBox(3, "black")); // only thing missing the new keyword
}
//or
let array = [new CreateBox(3, "black"), new CreateBox(4, "yellow"), new CreateBox(5, "blue")]

答案 1 :(得分:0)

g_timeout_add()

相关问题