【问题标题】:Create an array of user-defined object type创建用户定义对象类型的数组
【发布时间】:2013-12-01 06:46:07
【问题描述】:
//class Person {} takes in 3 arguments (string ,number, string)

var pArray: Person[ ] = [ ];

var newP;

    for (var i = 0; i < 10; i++) {
        newP = new Person("", Math.floor(Math.random() * 1000), "");
        pArray.push(newP);
    }

使用上面的代码,我得到了一个包含 10 个数字的数组,所有数字都是相同的。结果是最后创建的数字的 10(第 10 个数字)。这适用于原始类型,但不适用于对象类型。

发生了什么以及如何纠正它?

【问题讨论】:

  • 您到底想完成什么?你的问题不清楚,你的解释也是如此
  • 你如何检查你的结果?我怀疑问题出在您的“检查”代码中,而不是您的“创建”代码中。

标签: arrays object typescript


【解决方案1】:

您的代码没问题。 把它放到 Playground (http://www.typescriptlang.org/Playground/) 运行它并在新的 tapbage 上打开控制台:

class Person{
    number1:number;
    constructor(string1 : string, _number1 : number , string2: string){
        this.number1 = _number1;
    }
}


var pArray: Person[ ] = [ ];

var newP;

    for (var i = 0; i < 10; i++) {
        newP = new Person("", Math.floor(Math.random() * 1000), "");
        pArray.push(newP);
    }

    for (var j = 0; j < pArray.length; j++) {
        console.log(pArray[j].number1);
    }

【讨论】:

    猜你喜欢
    • 2014-12-21
    • 2018-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    • 2021-12-09
    • 2015-05-15
    • 1970-01-01
    相关资源
    最近更新 更多