属性“长度”在角类型“ {}”上不存在

时间:2020-07-17 10:05:07

标签: javascript angular typescript

在itemData [items]数组中,它包含多个数组值,我试图将数组值推入该值中,但会抛出类型'{}'上不存在的属性'length'

const searchQuery: SearchFilter[] = [];

for (let items in itemData) {
        console.log(itemData[items]);
        for (var i = 0, len = itemData[items].length; i < len; i++) {
           searchQuery.push({ name: items, value: itemData[items][i] } as SearchFilter);
      }

    }

1 个答案:

答案 0 :(得分:0)

变量itemData[items]似乎不是数组而是对象(错误告诉您exist on type '{}')。

例如,您可以计算对象的属性数:

for (var i = 0, len = Object.keys(itemData[items]).length; i < len; i++) {
}

Object.keys()将返回对象的属性名称的数组。然后,您可以使用.length

获得数组的长度