文章目录
1: Vue怎么判断对象是否为空
JSON.stringify(evtValue)=='{}'
Object.keys(xxxx).length==0
2:js判断对象是否为空对象的几种方法
- 1.将json对象转化为json字符串,再判断该字符串是否为"{}"
var data = {};
var b = (JSON.stringify(data) == "{}");
alert(b);//true
- for in 循环判断
var obj = {};
var b = function() {
for(var key in obj) {
return false;
}
return true;
}
alert(b());//true
- jquery的isEmptyObject方法
此方法是jquery将2方法(for in)进行封装,使用时需要依赖jquery
var data = {};
var b = $.isEmptyObject(data);
alert(b);//true
- Object.getOwnPropertyNames()方法
此方法是使用Object对象的getOwnPropertyNames方法,获取到对象中的属性名,存到一个数组中,返回数组对象,我们可以通过判断数组的length来判断此对象是否为空
注意:此方法不兼容ie8,其余浏览器没有测试
var data = {};
var arr = Object.getOwnPropertyNames(data);
alert(arr.length == 0);//true
- 使用ES6的Object.keys()方法
与4方法类似,是ES6的新方法, 返回值也是对象中属性名组成的数组
var data = {};
var arr = Object.keys(data);
alert(arr.length == 0);//true
3:vue怎么判断集合是否为空
vue 判断数组是否为空
为空:array == undefined || array.length <= 0 (顺序不能调换)
不为空: array !==undefined && array.length > 0
4:判断对象是否存在
解析:
$.isEmptyObject() 判断对象是否存在
//对象 为空 true 不为空 false
if(!$.isEmptyObject(object) ){
console.log('exit object')
}
5:判断对象属性是否为空
解析:
Object.keys().length : 判断对象属性长度 返回 获取对象索引 枚举数组
返回一个所有元素为字符串的数组,其元素来自于从给定的object上面可直接枚举的属性。这些属性的顺序与手动遍历该对象属性时的一致。
if(Object.keys(object).length != 0){
console.log('object not null')
}
6:判断对象属性是否存在
解析:
hasOwnProperty : 判断对象属性是否存在
if(object.hasOwnProperty('name')){
console.log('exit property')
}
7:判断对象属性是否为空字符串
console.log(Object.keys(res.result.userInfo.extension).length == 0)
8:vue 判断数组是否为空
- 为空
array == undefined || array.length <= 0 (顺序不能调换)
- 不为空:
array !==undefined && array.length > 0
9:Vue项目JSON格式字符串和对象之间的互转
- 将对象转换为JSON格式字符串
JSON.stringify(object)
- 将JSON字符串转换为对象
//1:使用JSON.parse()
JSON.parse(jsonString);
//2:使用eval
result = eval('(' + jsonstr + ')'); // jsonstr是json字符串
eval和JSON.parse的区别:
eval 是javascript支持的方式,不需要严格的json格式的数据也可以转化
JSON.parse 是浏览器支持的转换方式,必须要标准的json格式才可以转换
10:字符串与数组之间的相互转换
- 字符串转换为数组
str.split(','); // 以逗号,为拆分的字符串
- 数组转换为字符串
arr.join(','); // 把数组项拼接成字符串,以逗号,分隔