下面是一个JSON数组。
var cars = {
"cars": {
"john": [],
"alex": [
"ford"
],
"hilton": [],
"martin": [
"ford",
"ferrari"
],
"david": [
"Lamborghini"
],
...
}
}
我想从这里得到数组。我应该如何在Typescript中实现它?我尝试了几种方法,但都不起作用。还有一个JSON数组,只有名称,如下所示,但我不知道如何使用它。
var names = {
"names": [
"john",
"alex",
"hilton",
"martin",
"david",
...
]
}
我试着像拉风箱一样,但不起作用。
let aryCars: string[][] = [];
names.map((name: string) => {
cars[name].map((car: string) => {
aryCars[name].push(car);
});
});
但出现以下错误。Element implicitly has an 'any' type because index expression is not of type 'number'.
如果你知道怎么做请告诉我。谢谢。
2条答案
按热度按时间lp0sw83n1#
大概是因为这些台词:
我们已经将
aryCars
声明为一个数组,它隐式地具有数字索引,但是我们使用的是字符串name
。也许您实际上希望
aryCars
看起来像这样:该对象具有字符串键和作为值的字符串数组。
那么您的代码将是:
但请注意,您显示的
names
是一个名为names
的对象,其属性也称为names
,这意味着您必须执行以下操作:如果这不是您要查找的内容,请显示您期望的输出。
5vf7fwbs2#
数组不能有字串索引。请改用对象类型,例如:
然后,您可以使用数组标记法存取对象。