在尝试分配新数组时出现主题错误。 功能如下:
function setUpdateQuery(data: Object) : UpdateData {
const keys : string[] = [];
const values : string[] = [];
Object.entries(data)
.map(([key, value]) => {
if (value !== undefined) {
keys.push(`${key} = ?`);
values.push(JSON.stringify(value));
}
});
const parsedKeys: string[] = keys.join(', ');
return ({ values, keys: parsedKeys });
}
我在第const parsedKeys: string[] = keys.join(', ');
行出现错误
我试图将字符串转换为这样的字符串:
const parsedKeys: string[] = keys.join(', ') : string[];
但是然后我得到了另一个错误。 请告知,我是打字稿的新手。
答案 0 :(得分:1)
.join()
返回字符串,而不是数组。这就是为什么它被称为 join 的原因。有一个名为.split()
的相反方法,该方法返回一个数组。所以这个:
const parsedKeys: string[] = keys.join(', ');
应该是这样的:
const parsedKeys: string = keys.join(', ');
答案 1 :(得分:1)
这是不正确的
const parsedKeys: string[] = keys.join(', ');
join(', ')
生成字符串,而不是数组
['a', 'b', 'c'].join(', ') === 'a, b, c'