【问题标题】:Dynamic Array of objects for JavascriptJavascript 的动态对象数组
【发布时间】:2015-08-27 14:34:37
【问题描述】:

这是我到目前为止所拥有的。基本上每次我创建一个新的 Item 对象时,我都需要它来创建特定数量的另一个名为 Sensor 的对象。我尝试了其他一些方法,但似乎没有一种方法能满足我的需要。

function Item (id,number,operator,numOfSensors){
    this.id = id;
    this.number = number;
    this.operator = operator;
    this.numOfSensors = numOfSensors;
    var sensor = new Sensor[numOfSensors];

}

var Sensor = {
    timeStamp:[],

    itemPassed: function(){
        timeStamp.push(Date.now());
    }

}

非常感谢您的帮助 :) 我对 js 有点陌生 编辑:

大家好!谢谢您的帮助。基本上我的问题是整齐地制作一组对象。在项目对象中,我想制作 [numOfSensors] 数量的传感器对象。我似乎无法找到一种方法来做到这一点。所以我想我的问题是我将如何创建具有一定数量元素的对象数组?

【问题讨论】:

  • 欢迎来到 SO。具体是什么问题?
  • 很难准确把握你想要的东西。看来您可能忘记提问了。
  • 大家好!谢谢您的帮助。基本上我的问题是整齐地制作一组对象。在项目对象中,我想制作 [numOfSensors] 数量的传感器对象。我似乎无法找到一种方法来做到这一点。所以我想我的问题是我将如何创建具有一定数量元素的对象数组?
  • @ArinYaldizciyan 通常“对象数组”指的是这样的结构:[ {}, {}, {} ] 但我没有按照你想做的事?
  • 对不起,我试着解释得更好。基本上当我制作一个新的 Item 对象时。你会注意到我在 item 对象中有一行写着 var sensor = new Sensor[3];我希望 Item 对象制作 3 个新的传感器对象。事情是我写它的方式似乎不起作用。你们将如何创建对象数组?抱歉,如果这不是一个很好的解释方式

标签: javascript html arrays function object


【解决方案1】:

不确定您何时真正想调用 itemPassed() 以及这是否不是 Item 的函数,但这里有一些代码可能会帮助您入门:

var Item = function (id, number, operator, numOfSensors) {
    this.id = id;
    this.number = number;
    this.operator = operator;
    this.numOfSensors = numOfSensors;
    var sensorArray = [];
    for (var i = 0; i<numOfSensors; i++) {
        sensorArray.push(new Sensor());
    }
}

var Sensor = function() {
    this.timeStamps = [];
}

Sensor.prototype.itemPassed = function(){
    this.timeStamps.push(Date.now());
}

见:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-11
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多