判断对象中是否包含某个属性名
1.indexOf 可以判断数组是否包含某个值,返回该值对应的下标;对于不存在的值,返回-1;
ES6还提供了其他几种判断对象是否包含属性名的方法:
2.in:属性名 in 对象(判断属性名是否存在对象中存在,返回一个布尔值);
var obj = {
name:'张三',
age:22,
sex:'male'
};
console.log('name' in obj); /true
console.log('personal' in obj); //false
3.hasOwnProperty:对象.hasOwnProperty(属性名) (判断对象中是否含有某个属性名,返回一个布尔值);
var obj= {
name:'张三',
age:22,
sex:'male'
};
console.log(obj.hasOwnProperty('age')); //true
console.log(obj.hasOwnProperty('personal')); //false