角度=数组长度始终为1?

时间:2019-03-12 04:40:08

标签: angular4-forms

以下是打字稿中的代码

count: number;

this.count是从html组件访问的。

console.log(this.count)给了我5。

var arrObj:number[] = new Array(this.count)

console.log(arrObj.length);

此处数组的长度始终为1。

var arrObj:number[] = new Array(5)

console.log(arrObj.length);

输出:5

var arrObj:number[] = new Array(this.count)

console.log(arrObj.length);

输出:1

为什么全局变量长度始终为1?

1 个答案:

答案 0 :(得分:0)

也可以使用Array对象创建一个数组。可以传递Array构造函数。

您正在一次又一次地初始化数组...从共享的代码中,当您这样做时:

  • var arrObj:number[] = new Array(5)
  • 在这种情况下,您正在初始化大小为5的数组,所有这些数组都是未定义的

以及当您这样做时...

  • var arrObj:number[] = new Array(1)
  • 您正在使用单个项目初始化数组,在这种情况下,它将是未定义的

您应该一次执行一次var arrObj:number[] = [] 然后通过执行arrObj.push(yourValue)

将值推入数组

demo on stackblitz