js判断是否为空对象、js对象序列化+反序列化
一、js判断是否为空对象
https://www.cnblogs.com/sefaultment/p/9444345.html
方案 1:
var data = {}; var b = JSON.stringify(data) == "{}"; alert(b); //true
方案 2:
Object.keys(obj)返回不包括原型上的可枚举属性,即自身的可枚举属性 var data = {}; var b = Object.keys(data).length === 0;
方案 2 模拟实现:
for in语法遍历原型及自身上的可枚举属性,需要结合hasOwnProperty去除原型上的可枚举属性 var data = {}; function isEmptyObj(obj) { for (var key in obj) { if ({}.hasOwnProperty.call(obj, key)) return false; } return true; } var b=isEmptyObj(data); console.log(b);
方案 3:
Objcet.getOwnPropertyNames(obj)返回不包括原型上的所有自身属性(包括不可枚举的属性) var data = {}; var b=Object.getOwnPropertyNames(data)===0; console.log(b);
个人示例:

//开关开启状态--添加新增配置 if (switchstate) { var usavsthreeapipath11 = JSON.parse(usavsthreeapipath1); //对象序列化 for (var i in usavsthreeapipath11) { //过滤空值 if (usavsthreeapipath11[i] != "") { usavsthreeapipath[i] = usavsthreeapipath11[i]; } } } $("input[name=usavsthreeapipath]").val(JSON.stringify(usavsthreeapipath)); //对象反序列化 //判断是否对象为空对象 if (JSON.stringify(usavsthreeapipath) == "{}") { usbasic.errorMsg("请为音视频广播系统添加配置项,否则影响系统部分功能使用"); return false; }
本文来自博客园,作者:じ逐梦,转载请注明原文链接:https://www.cnblogs.com/ZhuMeng-Chao/p/17012413.html

浙公网安备 33010602011771号