判断对象属性操作
判断对象属性操作
是否为空
(1) 使用JSON.stringify
把对象转为字符串,再判断字符串是否等于"{}"
const a={test:123}
JSON.stringify(a)==="{}" // false
(2) ES6新方法,通过Object.keys
, Object.values
, Object.entries
返回数组,判断数组的长度是否大于0
即可
const a={test:123}
console.log(Object.keys(a).length) // 1
是否有某个属性
(1) 通过上述的方法返回含有键值对的数组后,判断数组中是否有某个对应的值,使用indexOf
,-1
为不存在
const a={test:123}
Object.keys(a).indexOf("test") // 0
Object.keys(a).indexOf("show") // -1
(2) ES6
属性名 in
对象,返回一个布尔值,in 只能判断对象有没有这个属性,无法判断这个属性是不是自身属性
const a={test:123}
"test" in a // true
"show" in a // false
(3) hasOwnProperty
方法,这个方法就是用来检测对象的某个属性是否存在,能区分是不是自身属性,不是自身属性会返回false
const a={test:123}
a.hasOwnProperty('test') // true
a.hasOwnProperty('show') // false
(4)直接调用需要判断的对象,如果原型链上不存在该属性就会返回undefined,这种方式的缺陷就是不能判断本身就是undefined的属性
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律