为什么我的数组声称是一个对象?

时间:2019-04-05 03:21:22

标签: arrays typescript

我有一个数据对象,其键是数字,值是包含对象的数组。在代码的某个时刻,我想基于对象键从该对象中提取数组。

对象看起来像这样:

this.data = {
    1: [{name: "John Doe", occupation: "farmer"}, {name: "Jane Doe", occupation: "teacher"}],
    3: [{name: "Jack Doe", occupation: "plumber"}, {name: "Jean Doe", occupation: "hairdresser"}]
}

要提取数组,我要做类似的事情...

this.people = this.data[1];

现在,当我console.log this.data时,它返回{1: Array(2), 3: Array(2)} 当我console.log this.people时,它给了我(2) [{…}, {…}]

但是,typeof(this.people)返回object。我不明白 这是什么问题?

1 个答案:

答案 0 :(得分:3)

因为数组实际上是javascript中的一个对象(与大多数事物一样)。如果要检查某物是否为数组对象,可以使用Array.isArray