如何将字符串列表映射为JSON对象列表?TypeScript报错求助
问题解决:TypeScript数组转换时的语法错误
你的问题出在箭头函数的写法上——当箭头函数直接返回对象字面量时,TypeScript会把外层的{}当成函数体的代码块,而非对象字面量,因此报错要求加分号。
两种修复方案:
方案1:给对象字面量包裹括号
用()把返回的对象包起来,明确告诉TypeScript这是一个对象而非代码块:
let lst:string [] = ["a", "b", "c"]; let foo:any [] = lst.map(l => ({ "str": l }));
方案2:显式使用return语句
如果不想加括号,也可以在函数体内显式返回对象:
let lst:string [] = ["a", "b", "c"]; let foo:any [] = lst.map(l => { return { "str": l }; });
两种方法都能正常运行,最终foo会得到你期望的结果:[{str:"a"},{str:"b"},{str:"c"}]。
内容的提问来源于stack exchange,提问作者chris01
相关产品推荐
相关产品推荐

