[英]Typescript: Type 'undefined' cannot be used as an index type.ts(2538)
[英]Type 'string[]' cannot be used as an index type.ts(2538)
TS错误:
类型 '(string | undefined)[]' 不能用作索引 type.ts(2538)
代码:
Object.values(payload.reduce((acc, obj) => {
let key = obj.values.map(i => i.object_id);
if (!acc[key]) {
acc[key] = []
}
acc[key].push(obj)
return acc
}, {}))
在 javascript 代码中工作正常。 为什么?
看起来您正在尝试通过使用数组键作为这一行来访问数组值:
let key = obj.values.map(i => i.object_id);
返回一个字符串数组并将其分配给键变量。
编辑我的意思是你不能使用数组作为索引。 尝试将字符串值分配给键而不是映射结果。
像这样的东西:
Object.values(list.reduce((acc,obj) => {
let keys = obj["values"].map(i => String(i.object_id));
console.log(`Result mapping key`);
console.log(keys);
for (const subkey in keys) {
if (!acc[subkey]) {
acc[subkey] = []
}
acc[subkey].push(obj);
}
return acc
}, {}));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.