判断空对象的方法
1. 使用JSON.stringify(对象)方法
let obj = {};
JSON.stringify(obj) === '{}'
obj = {a:1};
JSON.stringify(obj) === '{}'
2.使用for..in遍历对象
function isEmptyObject(obj){
for(let key in obj){
return false
}
return true;
}
let obj = {}
isEmptyObject(obj)
3.使用Object.getOwnPropertyNames()方法
Object.getOwnPropertyNames()
function isEmptyObject(obj){
let arr = Object.getOwnPropertyNames(obj)
return arr.length==0;
}
let obj = {}
isEmptyObject(obj)
4. 使用ES6的Object.keys(),Object.values()方法
Object.keys()
function isEmptyObject(obj){
let arr = Object.keys(obj)
return arr.length==0;
}
let obj = {}
isEmptyObject(obj)
判断对象上是否有某个属性?
使用in运算符 (in也会判断原型上的方法)
- in运算符:如果指定的属性在指定的对象或其原型链中,则in 运算符返回true。
let obj = {
name: '11'
}
'name' in obj // true
'test' in obj // false
'hasOwnProperty' in obj // true
hasOwnProperty
- hasOwnProperty() 方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键)。
let obj = {
name: '11'
}
obj.hasOwnProperty('name'); // true
obj.hasOwnProperty('name'); // false
obj.hasOwnProperty('hasOwnProperty'); // false
将金额分成以三个为一组
var str = '36125813';
function test(str){
var re =/(?=(?!\b)(\d{3})+$)/g;
return str.replace(re,',');
}
console.log(test(str))