Dav*_*and 1 javascript typescript
我一直在尝试将JavaScript Web表单转换为Typescript,并且无法解决如何处理以下问题(适用于JavaScript):
let fieldValues = JSON.parse(cookieData);
let keys = Object.keys(fieldValues);
let values = Object.values(fieldValues);
Run Code Online (Sandbox Code Playgroud)
Visual Studio告诉我:
错误TS2339"ObjectConstructor"类型中不存在属性"值".
我能做什么?
小智 11
如果您需要特定键的值,您可以使用以下方法访问它:
Object(nameofobj)["nameofthekey"]
Run Code Online (Sandbox Code Playgroud)
在Object.values(..)没有稳定下来,因此它在许多浏览器不支持(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values)
map改为使用:
let values = Object.keys(fieldValues).map(key => fieldValues[key]);
Run Code Online (Sandbox Code Playgroud)
如果你真的想使用这个功能,你需要
"es2017.object"在你的上添加libtsconfig.json.确保您使用的是polyfill,或者您的最终平台是否支持此功能.
如果Object.values不支持(现在经常是这种情况),你可以map在你的上面keys:
let cookieData = '{"key":"value"}'
let fieldValues = JSON.parse(cookieData)
let keys = Object.keys(fieldValues)
let values = keys.map(k => fieldValues[k])
console.log(keys) //=> ['key']
console.log(values) //=> ['value']Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13742 次 |
| 最近记录: |