typescript - 如何访问对象的值?
问题描述
我有一个简单的常量如下:
const student=[{"Name":"Sam"}]
我想访问它的 name 属性,我尝试了以下 2 个代码,但得到的值是未定义的。
const student=[{"Name":"Sam"}]
const temp=JSON.parse(JSON.stringify(student))
console.log(temp['Name'])//returns undefined
console.log(temp.Name)//also return undefined
我还有其他方法吗?
解决方案
构建一个合适的对象,而不是数组
const student={"Name":"Sam"} // CURLY BRACES NOT BRACKETS,
const temp=JSON.parse(JSON.stringify(student))
console.log(temp['Name'])//returns Sam
console.log(temp.Name)//also return Sam
编辑问题后:您正在创建对象数组,因此您必须指向您所指的对象(数组索引),然后是它的属性
const student=[{"Name":"Sam"}] ;
const temp=JSON.parse(JSON.stringify(student))
console.log(temp[0]['Name'])//returns Sam - of the first element
console.log(temp[0].Name)//also return Sam - of the first element
如果您不想使用数组索引,请使用第一个变体。
推荐阅读
- azure - 将行追加到 azure data Lake gen 1 文件
- c# - 如何在 C# 中定位非托管内存泄漏
- java - 是否必须打包 maven 编译时依赖项以便在运行时访问?
- c# - 使用 ITextSharp 将阿拉伯文本写入 PDF
- reactjs - 当反应脚本被标记为开发依赖时如何进行反应构建
- python - 重复执行 cwd 和 listdir 时,Pysftp/Paramiko“没有这样的文件”
- pdb - Windows 10 更新/安全更新后程序无法运行:PDB 请求错误:404
- flutter - 颤振:在提供程序中使用颤振钩子时出现意外行为
- angular - 2 次调用 form.reset() 后,子组件不会从父组件重置
- flutter - Flutter:有没有人使用 Iterable SDK 和 Flutter App 进行推送通知